The hash function in Python is utilized to obtain the hash value of a given object. Python determines this hash value by employing a hashing algorithm. These hash values are represented as integers and are essential for comparing keys within a dictionary when performing a lookup. The following types can be hashed:
Types that are hashable include:
- boolean (bool)
- integer (int)
- long integer (long)
- floating-point number (float)
- string
- Unicode
- tuple
- code object
We cannot hash of these types:
Types that cannot be hashed include:
- bytearray
- list
- set
- dictionary
- memoryview
Python hash Function Syntax
It has the following syntax:
hash (object)
Parameters
- object: The item for which we seek to obtain a hash. Only types that are immutable are eligible for hashing.
Return
It returns the hash value of an object.
Difference between Python hash Function
Let’s examine a few examples of the hash function to gain a better understanding of its operations.
Python hash Function Example 1
In this section, we will obtain the hash values for both integer and floating-point numbers. Please refer to the example provided below.
# Python hash() function example
# Calling function
result = hash(21) # integer value
result2 = hash(22.2) # decimal value
# Displaying result
print(result)
print(result2)
Output:
21
461168601842737174
Python hash Function Example 2
This function can be utilized on the iterable elements to generate hash values.
# Python hash() function example
# Calling function
result = hash("logicpractice") # string value
result2 = hash((1,2,22)) # tuple value
# Displaying result
print(result)
print(result2)
Output:
-3147983207067150749
2528502973955190484
Python hash Function Example 3
Consider the following illustration regarding the hash function in Python.
# Python hash() function example
# Calling function
result = hash("logicpractice") # string value
result2 = hash([1,2,22]) # list
# Displaying result
print(result)
print(result2)
Output:
TypeError: unhashable type: 'list'
Python hash Function Example 4
In this instance, we are providing a newly created custom object to the function. The output of the function is the hash corresponding to this object.
# Python hash() function example
class Student:
def __init__(self,name,email):
self.name = name
self.email = email
student = Student("Arun", "arun@abc.com")
# Calling function
result = hash(student) # object
# Displaying result
print(result)
Output:
8793491452501