Встречается на собеседованиях • сегодня

Что такое хешируемый объект

Хешируемый объект в 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'
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы