hash() — Advanced Playground
Returns the hash value of an object (used in dicts and sets)
Python Playground
# Custom __hash__ for hashable objects
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __hash__(self):
return hash((self.x, self.y))
def __eq__(self, other):
return self.x == other.x and self.y == other.y
points = {Point(1, 2), Point(3, 4), Point(1, 2)}
print(len(points)) # 2, because Point(1,2) appears twice
Output
Click "Run" to execute your code
Understanding the dunder methods that hash() calls helps you customize behavior for your own classes.
Challenge
Try modifying the code above to explore different behaviors. Can you extend the example to handle a new use case?