Функция hash() в Python

Python3 内置函数Встроенные функции Python3


hash()является встроенной функцией в Python, используемой для возврата хеш-значения объекта.

Хеш-значение — это целое число, используемое для быстрого сравнения объектов. Ключи словарей и элементы множеств должны быть хешируемыми. Неизменяемые объекты обычно хешируемы.

Значение слова: hash 意为"哈希",返回对象的哈希值。


Базовый синтаксис и параметры

Формат синтаксиса

hash(object)

Описание параметра

  • Параметр object:
    • Тип: любой объект
    • Описание: объект, для которого вычисляется хеш-значение.

Описание функций

  • Возвращаемое значение: возвращает хеш-значение (целое число) объекта.
  • Требование: объект должен быть хешируемым (т. е. реализует метод __hash__).

Примеры

Пример 1: Базовое использование

Пример

# Числа
print(hash(1))        # Вывод: 1
print(hash(3.14))     # Вывод: 314159
print(hash(-100))     # Вывод: -100

# Строки
print(hash("hello"))   # Вывод: значение хеша
print(hash("world"))   # Вывод: другое значение хеша

# Кортеж (хешируемый)
print(hash((1, 2, 3)))  # Вывод: значение хеша

# Список (нехешируемый)
# print(hash([1, 2, 3])) # вызовет TypeError

Ожидаемый вывод:

Объекты с одинаковым значением всегда имеют одинаковое значение хеша.

Пример 2: Использование в словарях и множествах

Пример

# Ключи словаря должны быть хешируемыми
d = {"name": "Tom", "age": 20}
print(d["name"])  # Вывод: Tom

# Элементы множества должны быть хешируемыми
s = {1, 2, 3, "hello"}
print(3 in s)     # Вывод: True

# Хеш пользовательского класса
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __hash__(self):
        return hash((self.x, self.y))

p = Point(1, 2)
print(hash(p))  # Вывод: значение хеша

Вывод:

Хеш-значения позволяют использовать объекты в качестве ключей словаря и элементов множества.

hash()Это основа операций, связанных с хешированием, в Python.


Python3 内置函数Встроенные функции Python3


Другие расширения