Как работает хеш функция в Python
Python
Middle
Без компании
Как работает хеш функция в Python
Ответы
Хеш-функция в Python преобразует объект в целое число фиксированного размера. Это используется для быстрого сравнения ключей в словарях и проверки членства в множествах.
**Особенности:**
- Для неизменяемых типов (int, str, tuple) хеш вычисляется на основе их значения
- Изменяемые типы (list, dict, set) не хешируемы, так как их значение может измениться
- Хеш должен быть согласован с равенством: если a == b, то hash(a) == hash(b)
Пример:
```
print(hash("hello")) # Например, 447435732
print(hash((1, 2))) # Хешируемый кортеж
# Не хешируемые объекты
try:
hash([1, 2]) # TypeError
except TypeError as e:
print(e)
```
Для пользовательских классов хеш определяется методом `__hash__()`, по умолчанию он возвращает id объекта.