Python:为什么哈希函数不是确定性的?

时间:2019-03-11 12:39:40

标签: python object hash deterministic

我正在使用 Python 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,-9223363264515786864,-9223363262437648366等 为什么会这样?我想在我的整个应用程序中保证使用此功能的确定性!我该如何解决这个问题? 非常感谢!

0 个答案:

没有答案