Метод порівняння об’єктів hash
У цьому прикладі клас
У цьому прикладі клас
Person
визначено з атрибутами name
та age
. Метод hash(self)
перевизначений для цього класу, щоб генерувати унікальний хеш з урахуванням значень його атрибутів.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __hash__(self):
return hash((self.name, self.age))
# Створюємо декілька об'єктів класу Person
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)
person3 = Person("Alice", 30)
# Друкуємо хеш кожного об'єкту
print(hash(person1)) # Виведе: 579197962399531377
print(hash(person2)) # Виведе: 8972795877804303846
print(hash(person3)) # Виведе: 579197962399531377
При створенні об’єктів person1
і person3
з однаковими значеннями атрибутів name
і age
, вони мають однаковий хеш, що демонструє роботу методу hash
.
#hash // #practice // Python