Python hash() 函数

Python3 内置函数 Python3 内置函数


hash() 是 Python 中用于返回对象哈希值的内置函数。

哈希值是一个整数,用于快速比较对象。字典的键和集合的元素都要求是可哈希的(hashable)。不可变对象通常是可哈希的。

单词释义hash 意为"哈希",返回对象的哈希值。


基本语法与参数

语法格式

hash(object)

参数说明

  • 参数 object
    • 类型: 任意对象
    • 描述: 要计算哈希值的对象。

函数说明

  • 返回值: 返回对象的哈希值(整数)。
  • 要求: 对象必须是可哈希的(即实现了 __hash__ 方法)。

实例

示例 1:基础用法

实例

# 数字
print(hash(1))        # 输出: 1
print(hash(3.14))     # 输出: 314159
print(hash(-100))     # 输出: -100

# 字符串
print(hash("hello"))   # 输出: 哈希值
print(hash("world"))   # 输出: 另一个哈希值

# 元组(可哈希)
print(hash((1, 2, 3)))  # 输出: 哈希值

# 列表(不可哈希)
# print(hash([1, 2, 3]))  # 会抛出 TypeError

运行结果预期:

同值对象在任何时候都有相同的哈希值。

示例 2:在字典和集合中使用

实例

# 字典的键必须是可哈希的
d = {"name": "Tom", "age": 20}
print(d["name"])  # 输出: Tom

# 集合元素必须是可哈希的
s = {1, 2, 3, "hello"}
print(3 in s)     # 输出: True

# 自定义类的哈希
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))  # 输出: 哈希值

运行结果:

哈希值使对象可以用作字典键和集合元素。

hash() 是 Python 中哈希相关操作的基础。


Python3 内置函数 Python3 内置函数