Карточка Middle Типы, изменяемость и сравнение спрашивают часто обновлено

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

Вопрос

Что значит «объект хешируемый» и зачем это нужно?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

У объекта есть hash, значение хеша не меняется за время жизни, и равные объекты имеют равные хеши. Только хешируемые объекты могут быть ключами dict и элементами set.

Ответ

У объекта есть __hash__, значение хеша не меняется за время жизни, и равные объекты имеют равные хеши. Только хешируемые объекты могут быть ключами dict и элементами set.

Разбор

Встроенные неизменяемые типы хешируемы (кортеж только если хешируемы его элементы). Если в классе определить __eq__ без __hash__, экземпляры станут нехешируемыми.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме