gpt4 book ai didi

python - hashlib - 为什么摘要匹配但裸对象不匹配?

转载 作者:太空宇宙 更新时间:2023-11-03 13:21:48 27 4
gpt4 key购买 nike

我想知道在 python 2.7 中观察到的行为的实际原因是什么:

import hashlib
hashlib.md5('foo') == hashlib.md5('foo')

返回错误。但是……

import hashlib
hashlib.md5('foo').hexdigest() == hashlib.md5('foo').hexdigest()

返回真。我知道 hexdigest/digest 返回最终的字符串表示形式,但是由于相同的数据已直接输入到两个哈希对象中,它们不应该相互评估吗?当神奇的 __eq__ 方法被调用时,md5 HASH 对象不会知道内部身份吗?出于什么原因,对象本身会评估不平等?真的只是好奇。

最佳答案

hashlib.md5 对象没有相等性比较,因此,由于它们是不同的对象,结果为 false。

.hexdigest 方法生成一个字符串(如果您使用的是 Python 3,则生成字节字符串)并且可以比较字符串。

顺便说一句:

x = hashlib.md5('foo')
x == x # is True because it's the same object

关于python - hashlib - 为什么摘要匹配但裸对象不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11252911/

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