Какие знаешь магические (dunder) методы для работы с хэшируемыми объектами в Python

Python Middle Баланс-Платформа
Какие знаешь магические (dunder) методы для работы с хэшируемыми объектами в Python
Ответы
Основные магические методы для хэшируемых объектов: - `__hash__` - возвращает целочисленный хэш объекта. Должен возвращать одинаковое значение для равных объектов. Если `__eq__` определен, `__hash__` должен быть тоже определен. - `__eq__` - определяет поведение оператора `==`. Пример: ``` class Point: def __init__(self, x, y): self.x = x self.y = y def __hash__(self): return hash((self.x, self.y)) def __eq__(self, other): if not isinstance(other, Point): return False return self.x == other.x and self.y == other.y ``` Важно: - Если `__eq__` не определен, Python использует сравнение по id - Изменяемые объекты не должны быть хэшируемыми (лучше определить `__hash__ = None`) - Хэш должен оставаться постоянным на протяжении жизни объекта