Método de hash de Python

Método de hash de Python
“El hash es un concepto muy común para asegurar las claves mediante la generación de un valor hash en su contra. Es una forma de calcular una cadena normal en otro valor. Calcular un valor hash es una de las funciones de hashing. En este artículo, desarrollaremos el concepto de la función hash () en un lenguaje de programación de Python. Al demostrar ejemplos directos, le enseñaremos cómo usar la función hash () en un programa de Python. Antes de explorar ejemplos, comprendamos rápidamente los conceptos básicos de la función hash () en Python.

El valor hash devuelto por una función hash () es un valor entero que generalmente se usa para comparar las claves del diccionario mientras se usa un diccionario."

Sintaxis de la función hash ()

La sintaxis de la función hash () es muy fácil de entender. Eche un vistazo a la sintaxis a continuación, y luego explicaremos cada parte una por una.

La función utilizada para calcular el valor hash de un objeto especificado se llama hash (). El "objeto" es el único parámetro que toma la función hash (). Es un argumento necesario que denota la cadena de la que se derivará el valor hash. El valor hash puede ser en forma de un número flotante, un número entero o simplemente una cadena. La función hash (), como resultado, devuelve el valor hash calculado del objeto dado si existe. Ahora veamos algunos programas de muestra para que pueda comprender fácilmente el funcionamiento del método hash ().

Ejemplo 1

La función hash puede calcular un valor hash para cualquier tipo de datos, ya sea una cadena, un número de punto flotante o un entero. En este ejemplo, encontraremos el valor hash de 3 números enteros diferentes. Veamos el código a continuación, y luego intentaremos comprender cada línea de código uno por uno.

int1 = hash (5)
int2 = hash (10)
int3 = hash (259)
imprimir ('El valor hash del entero 5 es =', int1)
imprimir ('El valor hash del entero 10 es =', int2)
imprimir ('El valor hash del entero 259 es =', int3)

Aquí hemos asignado Integer 5 a una variable declarada como "INT1". En la segunda línea de código, asignamos Integer 10 a una variable "int2", seguida de la tercera línea de código, que contiene número entero 259 y se asigna a una variable "INT3". Cada función hash () calculará el valor hash para cada número entero dado. Para imprimir el valor hash en cada número entero, utilizamos la instrucción print (). Hay tres declaraciones de impresión en el programa para imprimir los tres valores hash de los números enteros dados. Ahora veamos la salida que se da a continuación para comprender lo que ha producido la función hash:

Como puede ver, el valor hash contra cada número entero no cambia, lo que significa que los números enteros no cambian en las funciones hash (). Ahora probemos la función Hash () con otros tipos de datos para verificar si permanecen sin cambios o si tienen un valor hash contra ellos.

Ejemplo 2

En este programa de ejemplo, le haremos saber cómo puede probar la función hash () con algunas cadenas. Consulte el programa de muestra a continuación y luego comprenda cada línea de código uno por uno:

str1 = hash ('a')
str2 = hash ('python')
str3 = hash ('lenguaje de programación')
imprimir ('El valor hash del carácter \' a \ 'is =', str1)
Imprimir ('El valor hash de Word \' Python \ 'is =', str2)
Imprimir ('El valor hash de String \' Language de programación \ 'is =', str3)

En la primera línea, proporcionamos un personaje "A" a una variable llamada "STR1". En la segunda línea de código, proporcionamos una "palabra" a una variable STR2, y en la tercera línea de código, proporcionamos una cadena a una variable STR3. La función hash () calculará el valor hash para cada cadena y devolverá el valor hash. Para imprimir el valor de hash calculado, utilizamos la instrucción print (). Hay tres declaraciones de impresión, y cada declaración se utiliza para imprimir el valor hash para cada cadena proporcionada. Ahora veamos la salida que se da a continuación para verificar el valor hash de cada cadena dada. Aquí está la captura de pantalla de la salida:

Como puede ver, la función hash () ha calculado el valor hash para cada cadena dada, lo que significa que la cadena no sigue siendo la misma en la función hash (), y los valores hash se calculan en su contra.

Ejemplo 3

Hasta ahora, hemos usado la función hash () en cadenas simples o números enteros. Ahora usemos la función hash () con objetos inmutables. La función hash () solo funciona con tuplas como objetos inmutables. Así que veamos cómo funciona la función hash con la tupla de objeto inmutable:

tup = ('a', 'b', 'c', 'd', 'e')
imprimir ('El valor hash de la tupla es =', hash (tup))

Como puede ver, proporcionamos "A", "B", "C", "D" y "E" a una variable "TUP" y luego calculamos el valor hash de él usando la función hash (). La instrucción print () se usa aquí para imprimir el valor hash de la tupla. Ahora veamos el valor hash de la tupla en la salida que se proporciona a continuación:

Ejemplo 4

La función hash () no funciona con objetos mutables, y si intentamos usar la función hash () en una función mutable como una lista, entonces lanzará una excepción. En este ejemplo, usaremos la función hash () en una lista. Consulte el programa de muestra que se proporciona a continuación:

LST = [10, 20, 25, 30]
imprimir ('El valor hash de la lista es =', hash (LST))

Como sabemos, la función hash () no funciona con objetos mutables, por lo que debería lanzar una excepción. Así que veamos el resultado en la salida que se da a continuación:

Tenga en cuenta que el compilador ha lanzado un "typeError" para usar la función hash () en la lista mutable. Esto indica que la función hash () no se puede usar en objetos mutables.

Conclusión

Hemos hablado sobre la función hash () del idioma python en esta guía. La función hash () en los programas de Python se utiliza para encontrar el valor hash de los objetos dados. Demostramos algunos programas de muestra para ayudarlo a comprender el funcionamiento de la función hash (). Al ejecutar los programas de muestra, llegamos a saber que la función hash () funciona con cadena, entero, números flotantes y objetos inmutables, pero no funciona con objetos mutables. Si sigue los códigos de ejemplo dados anteriormente, puede usar fácilmente las funciones hash () en sus programas de Python.