gpt4 book ai didi

python - 如何计算Python类对象的哈希值

转载 作者:行者123 更新时间:2023-12-01 08:35:03 25 4
gpt4 key购买 nike

在python3中,我有一个类。如下所示:

class Foo:
def __init__(self):
self.x = 3
def fcn(self, val):
self.x += val

然后我实例化该类的对象,如下所示:

new_obj = Foo()
new_obj2 = Foo()

现在,当我对这些对象进行哈希处理时,我会得到不同的哈希值。我需要它们返回相同的哈希值,因为它们是相同的对象(理论上)。

知道我该怎么做吗?

最佳答案

感谢所有回答的人。你是对的,实例化同一类对象的新实例实际上并不相同,因为它在内存中占据不同的位置。我最终所做的与 @nosklo 建议的类似。

我创建了一个“get_hashables”函数,它返回一个字典,其中包含构成唯一类对象的类的所有属性,如下所示:

def get_hashables(self):
return {'data': self.data, 'result': self.result}

然后我的主要方法将采用这些“可散列”变量,并对它们进行散列以生成散列本身。

关于python - 如何计算Python类对象的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53767475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com