这与java.lang.Object.hashcode()方法类似.
我需要在一个集合中存储我无法控制的对象,并确保只有当两个对象实际上是同一个对象(不包含相同的值)时才会覆盖这些值.
ily*_* n. 109
id(x)
Run Code Online (Sandbox Code Playgroud)
会为你做的伎俩.但我很好奇,这组对象有什么不对(它按值组合对象)?
对于您的特定问题,我可能会保留一组id或包装器对象.包装器对象将包含一个引用,并按x==y
<==> 进行比较x.ref is y.ref
.
值得注意的是Python对象也有一个hash
功能.将对象放入集合或字典中是必需的.它应该有时会碰撞不同的对象,虽然良好的实现hash
尝试使其不太可能.
Vic*_*ler 31
这就是" is
"的用途.
而不是测试" if a == b
",哪个测试相同的值,
test" if a is b
",它将测试相同的标识符.