Что делает метод hash python?

Аватар пользователя Карина Абдуллаева
Карина Абдуллаева
17 января 2023

hash() - это не метод, а встроенная функция. Она принимает объект и возвращает его хеш. Хеши используются для быстрого сравнения ключей словаря во время поиска по нему.
Хеш - это результат хеширования, т.е. операции по преобразованию данных в строку или число фиксированной длины. В Pyhton хеш - это целые числа. Два одинаковых объекта должны иметь одинаковый хеш, но обратное не обязательно верно. Подробнее можно узнать в этом ролике, там не только про хеши, но и про хеш-таблицы, и хеш-функции.

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

0 0
Основы Python за 14 дней
  • 72 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки