Python 内置函数 hash()
1. 概述
hash()
是 Python 中的一个内置函数,用于计算对象的哈希值。哈希值是一个整数,用于唯一标识对象。不同对象的哈希值应该不同,但相同对象的哈希值应该相同。
2. 语法
hash(object)
object
: 要计算哈希值的对象。
3. 示例
3.1 计算哈希值
# 字符串的哈希值
string_hash = hash("Hello, World!")
print(f"String hash: {string_hash}")
# 整数的哈希值
int_hash = hash(42)
print(f"Integer hash: {int_hash}")
# 列表的哈希值(注意:列表是可变对象,不应该用作字典的键)
list_hash = hash([1, 2, 3])
print(f"List hash: {list_hash}")
3.2 自定义对象的哈希值
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __hash__(self):
# 自定义哈希值计算逻辑
return hash((self.name, self.age))
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)
# 计算自定义对象的哈希值
print(f"Person1 hash: {hash(person1)}")
print(f"Person2 hash: {hash(person2)}")
4. 注意事项
- 哈希值在字典、集合等数据结构中非常有用,用于快速查找和比较对象。
- 自定义对象的哈希值需要实现
__hash__()
方法。