Python 3.x Python在一行中创建md5、update和hexdigest

Python 3.x Python在一行中创建md5、update和hexdigest,python-3.x,Python 3.x,我一直在尝试创建hashlib.md5(),对其调用update(),然后使用hexdigest(),其奇怪行为如下所示(第二个示例,第20行) 如您所见,第19行和第21-23行中的不同方法都可以正常工作 我很好奇,这里发生了什么,人们如何复制这种行为 谢谢 Guy.md5()返回md5类对象及其所有函数和属性。此值存储在代码中以供将来参考 恰好您也可以使用这个通过管道传输到update()的返回,因为update()是类引用md5()返回的函数。但是,update()不从md5类返回c

我一直在尝试创建hashlib.md5(),对其调用update(),然后使用hexdigest(),其奇怪行为如下所示(第二个示例,第20行)

  • 如您所见,第19行和第21-23行中的不同方法都可以正常工作
我很好奇,这里发生了什么,人们如何复制这种行为

谢谢

Guy.

md5()返回md5类对象及其所有函数和属性。此值存储在代码中以供将来参考

恰好您也可以使用这个通过管道传输到update()的返回,因为update()是类引用md5()返回的函数。但是,update()不从md5类返回classes self对象(实际上它不返回任何对象),因此它不能通过管道传输到hexdigest()

如果您想要一个能够实现所需行为的单一衬里:

hashlib.md5(b'0').hexdigest()

正如您在第19行中看到的,这也是我所做的(建议的解决方案)。关于“然而,update()不返回classes self对象”,我同意你的观点。最初,我尝试使用md5().update(b“0”)并收到相同的错误,但现在尝试复制它。。。不。猜一个打字错误什么的-谢谢。