Luc*_*mon 3 python hash equality object
这段代码片段让我很困惑:
class O(object):
pass
O() == O() # False
O() is O() # False
hash(O()) == hash(O()) # True !
id(O()) == id(O()) # True !!!
Run Code Online (Sandbox Code Playgroud)
我一直认为is
运算符正在比较id
s,并且默认实例相等check(==
)也比较了id
s,或者至少是hash
es:
2类实例如何共享相同id
但不以任何方式相同?
我正在使用CPython 2.7.6.
归档时间: |
|
查看次数: |
63 次 |
最近记录: |