Función hash() de Python

Python3 内置函数Funciones integradas de Python3


hash()Es una función integrada en Python que se utiliza para devolver el valor hash de un objeto.

El valor hash es un número entero que se utiliza para comparar objetos rápidamente. Las claves de los diccionarios y los elementos de los conjuntos deben ser hashables. Los objetos inmutables suelen ser hashables.

Definición del término: hash 意为"哈希",返回对象的哈希值。


Sintaxis básica y parámetros

Formato de sintaxis

hash(object)

Descripción de parámetros

  • Parámetro object:
    • Tipo: Cualquier objeto
    • Descripción: El objeto cuyo valor hash se va a calcular.

Descripción de la función

  • Valor de retorno: Devuelve el valor hash del objeto (entero).
  • RequisitosEl objeto debe ser hashable (es decir, debe implementar el método __hash__).

Ejemplos

Ejemplo 1: Uso básico

Ejemplo

# Números
print(hash(1))        # Salida: 1
print(hash(3.14))     # Salida: 314159
print(hash(-100))     # Salida: -100

# Cadena
print(hash("hello"))   # Salida: valor hash
print(hash("world"))   # Salida: otro valor hash

# Tupla (hashable)
print(hash((1, 2, 3)))  # Salida: valor hash

# Lista (no hashable)
# print(hash([1, 2, 3])) # lanzará TypeError

Resultado esperado:

Los objetos con el mismo valor tienen el mismo valor hash en todo momento.

Ejemplo 2: Uso en diccionarios y conjuntos

Ejemplo

# Las claves de un diccionario deben ser hashables
d = {"name": "Tom", "age": 20}
print(d["name"])  # Salida: Tom

# Los elementos de un conjunto deben ser hashables
s = {1, 2, 3, "hello"}
print(3 in s)     # Salida: True

# Hash de una clase personalizada
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))  # Salida: valor hash

Resultado de ejecución:

El valor hash permite que los objetos se utilicen como claves de diccionario y elementos de conjunto.

hash()Es la base de las operaciones relacionadas con hash en Python.


Python3 内置函数Funciones integradas de Python3


Otras extensiones