Что делает метод hash python?
hash()
- это не метод, а встроенная функция. Она принимает объект и возвращает его хеш. Хеши используются для быстрого сравнения ключей словаря во время поиска по нему.
Хеш - это результат хеширования, т.е. операции по преобразованию данных в строку или число фиксированной длины. В Pyhton хеш - это целые числа. Два одинаковых объекта должны иметь одинаковый хеш, но обратное не обязательно верно. Подробнее можно узнать в этом ролике, там не только про хеши, но и про хеш-таблицы, и хеш-функции.
Существует также метод __hash__()
, его наличие у объекта, позволяет передать этот объект функции hash()
, потому что "под капотом" функция вызывает именно этот метод. Этот метод есть только у неизменяемых объектов (str, int, tuple). Объекты, которые им обладают, могут входить в set, frozenset или быть ключами dict.