hash() 对象哈希值

最后更新:2026-09-22

hash() 对象哈希值

hash() 返回对象的整数哈希值(可哈希对象);相同对象(a is b)一定有相同哈希。

分类内置函数
类型内置函数
Python 版本all

📝 语法

hash(object)

⚙️ 参数

object 必选要计算哈希的对象,必须是可哈希类型。

返回值:返回对象的整数哈希值;相等的对象哈希值一定相同。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

529344067295497451
ℹ️ 说明 不可变容器通常可哈希;list / set / dict 不可哈希。
更多实战案例即将上线,敬请期待。

❓ 常见问题

Q为什么 hash([1, 2]) 报 TypeError?
Alist 可变、内容可改,无法保证哈希稳定,所以不可哈希;同理 dict、set 也不可哈希。
Q哪些对象是可哈希的?
A不可变类型通常可哈希:int、float、str、bytes、tuple、frozenset、None 等;注意 tuple 里若含 list 也不可哈希。
Q相等的对象哈希一定相同吗?
A一定相同:a == b 则 hash(a) == hash(b)。但反过来不成立,不同对象哈希可能碰撞(相同哈希不代表相等)。
Q每次运行程序 hash('abc') 结果一样吗?
A不一定。字符串哈希默认带随机化种子(PYTHONHASHSEED),跨进程不保证一致;不要把哈希值用于持久化或跨进程传递。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏