gpt4 book ai didi

Python 运算符 |= 含义

转载 作者:太空狗 更新时间:2023-10-29 22:04:47 28 4
gpt4 key购买 nike

由于 python 的一些版本控制问题,我必须使用自定义函数来比较 HMAC (SHA512)。为此,我找到了这个函数:

def compare_digest(x, y):
if not (isinstance(x, bytes) and isinstance(y, bytes)):
logfile.debug("both inputs should be instances of bytes")
if len(x) != len(y):
return False
result = 0
for a, b in zip(x, y):
result |= a ^ b
return result == 0

我在 Django 中使用它,因此我创建了一个记录器(日志文件),它为我将调试消息保存到一个文件中。

代码在这一步中断:

result |= a ^ b

但是,我不知道 |= 运算符代表什么以及这里发生了什么。如果有人可以解释这一点,我可以尝试重写它。

我的 python 版本是(不幸的是 2.7.4)和 2.7.7 我不会有问题,因为函数会被正确移植并可用。

最佳答案

| 是按位或运算符。 |=+=-= 等的按位或等效项。基本上,a |= ba = a | 的简写b

关于Python 运算符 |= 含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29399653/

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