hash()是python内置的吗


本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。


哈希函数hash()是python内置的吗?下面给大家介绍一下哈希函数的相关知识:

hash(object)

如果 object 属于可哈希对象,hash() 函数将返回其哈希值;如果 object 不属于可哈希对象,hash() 函数则会抛出异常。哈希值是一个整数。

相关推荐:《python视频教程》

1

2

hash('orca_j35') #> 3721949548176702466

hash([1,2]) #> TypeError: unhashable type: 'list

在查找字典时,会使用哈希值来快速比较字典的键。具有相同哈希值的对象,被字典视作同一个键。

1

2

3

4

5

6

x = (1,2)y = (1,2)

# x和y是具备不同id的对象

x is y #> False

z = {x:"orca"}

# 只要哈希值相同,便可互换使用

z[y] #> 'orca'

相等(==)的数值拥有相同的哈希值,即使两个相等的数值属于不同的类型,它们的哈希值也相同,例如 1 和 1.0:

1

2

1 == 1.0 #> True

hash(1),hash(1.0) #> (1, 1)

tips: 两个相等(==)的对象必定拥有相同的哈希值,但返回过并不一定成立。

注意:

对于拥有自定义 __hash__() 方法的对象,hash() 函数会根据主机(host machine)的位宽来截断 __hash__() 的返回值。

以上就是hash()是python内置的吗的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python中raise 与 raise ... from之间有何区别?

Python一定要学爬虫么

Python条件语句是什么?条件语句的一般格式是什么样的?

资深程序员Python学习进阶书籍推荐

Python中如何合并两个字典的示例分享

Python中format()格式输出的详细介绍(附代码)

Python如何实现字符串去重操作的代码示例

5个常用 Python 标准库

linux自带Python

Python合法标识符要求是什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...