Встречается на собеседованиях • сегодня
Что такое хешируемый объект
Хешируемый объект в Python — это объект, который имеет неизменяемое значение хеша (метод __hash__()), и может быть ключом в словаре или элементом множества. Главные требования:
- Неизменяемость: Если объект изменяется, его хеш тоже должен меняться, но хеш должен оставаться постоянным на протяжении всего времени жизни объекта.
- Сравнимость: Должен быть реализован метод
__eq__()для корректного сравнения.
Примеры хешируемых объектов:
- Неизменяемые типы (
int,str,tuple). - Пользовательские классы (по умолчанию хешируются по
id, но можно переопределить__hash__).
Нехешируемые:
- Списки (
list), множества (set), словари (dict).
python
# Пример хешируемого объекта (tuple)
hashable = (1, 2, 3)
print(hash(hashable)) # Работает
# Нехешируемый (list)
try:
unhashable = [1, 2, 3]
print(hash(unhashable))
except TypeError as e:
print(e) # TypeError: unhashable type: 'list'
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы