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

Как понимал хешируемый объект в Python

Хешируемый объект в Python — это объект, который имеет неизменяемое значение хеша (метод __hash__()), и может быть ключом в словаре или элементом множества.

Основные требования:

  1. Если a == b, то hash(a) == hash(b)
  2. Хеш должен оставаться постоянным на протяжении всей жизни объекта
  3. Объект должен поддерживать сравнение (иметь __eq__())

Неизменяемые типы (int, str, tuple) обычно хешируемы, а изменяемые (list, dict, set) — нет.

Пример:

python
# Хешируемые объекты
hash(42)          # Работает
hash("hello")     # Работает
hash((1, 2))      # Работает

# Нехешируемые объекты
hash([1, 2])      # TypeError
hash({"a": 1})    # TypeError

Можно сделать пользовательский класс хешируемым, определив __hash__ и __eq__.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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