Курс Python → Метод hash в Python

Метод сравнения объектов между собой, представленный в инструкции, является важным аспектом программирования на языке Python. В ней рассматривается класс Person с атрибутами name и age, где переопределен метод hash для генерации уникального хэша на основе значений этих атрибутов. При создании объектов person1 и person3 с одинаковыми значениями атрибутов, они будут иметь одинаковый хэш, что показывает, как работает метод hash.

Этот лайфхак полезен при работе с типами данных, которые используют хэширование для быстрого доступа, такими как словари или множества. Правильная реализация метода hash позволяет использовать объекты вашего класса как ключи в словарях или элементы в множествах. Это обеспечивает эффективность и уникальность при доступе к данным, что является важным аспектом при разработке программ на Python.


class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def __hash__(self):
        return hash((self.name, self.age))

person1 = Person("Alice", 30)
person2 = Person("Bob", 25)

print(hash(person1))  # Выведет уникальный хэш для объекта person1
print(hash(person2))  # Выведет уникальный хэш для объекта person2

В приведенном выше примере кода мы видим класс Person с переопределенным методом hash, который генерирует уникальный хэш на основе значений атрибутов name и age. При вызове функции hash для объектов person1 и person2, мы получаем уникальные хэши, что демонстрирует правильную работу метода сравнения объектов между собой на основе их хэшей.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Проверка окончания строки с помощью str.endswith()
  2. Упрощение работы с JSON-данными в Python
  3. Курсы Яндекс Практикум
  4. Генерация QR-кодов с библиотекой qrcode
  5. Работа со словарями в Python
  6. Атрибуты класса и экземпляра в Python
  7. Структура данных словарь в Python
  8. Настройка вывода в Numpy
  9. Управление фоновыми задачами в Python
  10. Удаление символов новой строки в Python.
  11. Повторение элементов в Python
  12. Измерение времени выполнения кода
  13. Объединение итераторов
  14. Деление в Python
  15. Преобразование Excel в PDF с Spire.XLS
  16. enumerate() в Python для работы с индексами
  17. Работа с временем в Python
  18. Явный импорт в Python
  19. UserString в Python
  20. Проверка дубликатов в Python
  21. Символ подчеркивания в Python
  22. Названия столбцов в Python таблицах
  23. Метод Self в Python
  24. Работа с каталогами в Python
  25. Создание OrderedDict
  26. Сравнение строк в Python
  27. Метод splitlines() для разделения строк
  28. Фильтрация входных данных в Python
  29. Обработка исключений в Python
  30. Многоточие в Python
  31. Проверка строки на палиндром
  32. Работа с модулем cmath
  33. Преобразование числа в восьмеричную строку
  34. Метод classmethod
  35. Глобальные переменные в Python
  36. Динамическая типизация в Python
  37. Проверка типа объекта в Python
  38. Сравнение объектов в Python
  39. Доступ к локальным переменным
  40. Итераторы в Python
  41. Форматирование строк в Python.
  42. Лямбда-функции в Python
  43. Оператор is в Python
  44. Сериализация объектов в Python
  45. Оператор += в Python

Marketello читают маркетологи из крутых компаний