Курс 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. Работа с библиотекой xkcd
  2. Создание копии списка в Python
  3. Создание вложенных циклов for
  4. Множественное назначение в Python
  5. Работа с часовыми поясами в Python
  6. Передача словаря через **kwargs
  7. Переопределение метода xor в Python
  8. enumerate() в Python для работы с индексами
  9. Итерация по коллекции в Python
  10. Форматирование данных с pprint
  11. Метод rmatmul для обратного матричного умножения
  12. Форматирование строк в Python
  13. Метод __index__ в Python
  14. Сортировка HTML-элементов
  15. Проверка индексов коллекции
  16. Объединение строк с помощью метода join
  17. Работа с файловой системой в Python
  18. Docstring в Python
  19. Переворот списка в Python
  20. Форматирование строк в Python
  21. Документация функции help() в Python
  22. Конкатенация строк с методом join()
  23. Генераторы списков
  24. Сортировка в Python
  25. Оператор умножения для вектора
  26. Метод eq для сравнения объектов
  27. Оптимизация методов в Python 3.7
  28. Генерация случайных чисел в Python
  29. Основные операции с Numpy
  30. Разработка игры Pong с turtle
  31. Обратное распространение ошибки
  32. Операции с кортежами
  33. F-строки в Python
  34. Работа с классами данных
  35. Обработка исключений в Python
  36. Цикл for в Python
  37. Методы в Python
  38. Создание GUI с Tkinter: Entry
  39. Измерение времени выполнения
  40. Тайное преобразование типа ключа
  41. Просмотр внешнего файла в Python
  42. Инициализация объекта
  43. Курсы Яндекс Практикум
  44. Оператор «or» в Python

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