我需要计算一个“哈希”,它允许我唯一标识一个对象,它是内容和父类。计算类和实例哈希
通过比较这些“散列”,我希望能够判断一个对象自上次扫描以来是否发生了变化。
我发现很多关于如何使一个哈希的对象实例,但没有这么多关于如何计算父类的哈希值。
重要的是要注意比较是在不同的执行过程中进行的。我这样说是因为我认为比较对象的id()
,因为对于不同的执行,对象的id /地址可能会不同。
我认为诉诸检查,但我担心它可能不是非常有效的,也是我不是很确定,将如何,如果该对象的父类是从另一个类继承工作。
如果我有访问到该实例和类的代码存储的实际内存的原始数据,我可以计算的散列。
任何想法?
,如果你想知道如果自上次检查改变你可以只生成你的对象的'__dict__'财产的哈希值。我认为在这里考虑其班级并不重要。 – lucasnadalutti
我不确定内建的['hash()'](https://docs.python.org/2/library/functions.html#hash)没有涵盖什么情况?你可以扩展吗? – TemporalWolf
@TemporalWolf如果你有'foo',一个'class Foo'的实例,做'foo.bar = 1','hash(foo)'会产生一个值,在你做完foo.bar后它将保持不变= 2'。 OP想要检测这种变化。 – lucasnadalutti