Курс 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. Управление асинхронными задачами на Python.
  2. Очистка списка от False, None, 0, «»
  3. Оптимизация памяти с __slots__
  4. Форматирование кода на Python
  5. f-строки в формате строк
  6. Конкатенация строк в Python
  7. Определение индекса элемента списка
  8. Декоратор Property в Python
  9. Итерации в Python
  10. Библиотека wikipedia для Python
  11. Генераторные функции в Python
  12. Получение текущей даты и времени
  13. Работа с датами в Python
  14. Работа с изменяемыми списками
  15. Создание словарей с defaultdict
  16. Ускорение кода с помощью векторизации
  17. Работа с комплексными числами
  18. Модуль array: создание и использование массивов
  19. Печать календаря
  20. Модуль subprocess: запуск внешних команд
  21. Лямбда-функции в Python
  22. Beautiful Soup — извлечение данных из HTML
  23. Изменение элемента списка
  24. Сортировка с параметром key
  25. Основные методы NumPy
  26. Работа со списками
  27. Потоковый ввод в Python
  28. Сортировка в Python
  29. Defaultdict в Python
  30. Лямбда-функции для min/max
  31. Счетчик в Python: most_common()
  32. Сортировка с помощью параметра key
  33. Использование модуля __future__
  34. Получение идентификатора объекта в памяти
  35. Управление контекстом выполнения
  36. Метод __index__ в Python
  37. Сокращение ссылок с pyshorteners
  38. Преобразование регистра символов
  39. Возведение в квадрат с помощью itertools
  40. Применение функции map() с лямбда-функциями
  41. Форматирование данных с pprint
  42. Форматирование строк в Python
  43. Игра «Виселица» на Python
  44. Генераторы в Python
  45. Использование двоеточия в Python

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