我正在开发一个程序
蟒蛇3.6
我有一个问题:如果我使用确定性
hash
函数(来自语言的标准库)在同一个对象上,导致输出的字符串(运行后)在某些运行中是不同的!
例如:
class Generic:
def __init__(self, id, name, property):
self.id = id
self.name = name
self.property = property
def main():
my_object = Generic(3,'ddkdjsdk','casualstring')
print(hash(my_object))
我希望输出始终相同(确定性),但不幸的是,控制台上出现了不同的字符串:
8765256330262、-922336326451786864、-9223363262437648366及其他。。。
为什么会这样?我想在我的应用程序中保证这个函数的决定论!我该如何解决这个问题?