一尘不染

Python中是否有对象唯一标识符

python

这将类似于该java.lang.Object.hashcode()方法。

我需要将无法控制的对象存储在一个集中,并确保只有两个对象实际上是同一对象(不包含相同的值)时,这些值才会被覆盖。


阅读 142

收藏
2021-01-20

共1个答案

一尘不染

id(x)

会帮你的忙。但我很好奇,对象集(按值组合对象)有什么问题?

对于您的特定问题,我可能会保留一组ID或包装对象。包装对象将包含一个引用,并按x==y<==>进行比较x.ref is y.ref

还值得注意的是,Python对象也具有hash功能。该功能对于将对象放入集合或字典是必需的。它有时会因不同的对象而发生冲突,尽管hash尝试使它的可能性降低的良好实现。

2021-01-20