一尘不染

“hashable”在Python中是什么意思?

python

我尝试搜索互联网,但找不到可哈希的含义。

当他们说物体是什么hashablehashable objects什么意思?


阅读 502

收藏
2020-02-22

共1个答案

一尘不染

从Python词汇表中:

如果对象的哈希值在其生命周期内始终不变(需要一个__hash__()方法),并且可以与其他对象进行比较(需要一个__eq__()or __cmp__()方法),则该对象是可哈希的。比较相等的可哈希对象必须具有相同的哈希值。

散列性使对象可用作字典键和set成员,因为这些数据结构在内部使用散列值。

Python的所有不可变内置对象都是可哈希的,而没有可变容器(例如列表或字典)是可哈希的。作为用户定义类实例的对象默认情况下可哈希化;它们都比较不相等,并且其哈希值是id()。

2020-02-22