谷歌不让我搜索|=,所以我很难找到相关的文件。有人知道吗?


当前回答

它表示按位或操作。

例子:

x = 5
x |= 3 #which is similar to x = x | 3
print(x)

答案:7

它是如何工作的?

The binary of 5 is : 0 1 0 1
The binary of 3 is : 0 0 1 1

OR operation : (If one of both sides are 1/True then result is 1/True)

0 1 0 1  #Binary of 5
0 0 1 1  #Binary of 3
---------------------
0 1 1 1  #Binary of 7

所以答案是7

其他回答

这只是当前变量和另一个变量之间的OR运算。当T=True和F=False时,请以图形方式查看输出:

r s r|=s
T T T
T F T
F T T
F F F

例如:

>>> r=True
>>> r|=False
>>> r
True
>>> r=False
>>> r|=False
>>> r
False
>>> r|=True
>>> r
True

它是位或。 假设我们有32 | 10,图片32和10的二进制:

32 = 10 0000
10 = 00 1010

现在,因为|是“或”运算,对这两个数字进行“或”运算

即1或0——> 1 0或0——> 0。沿着这个链条继续下去:

10 0000 | 00 1010 = 10 1010.

现在把二进制变成十进制,10 1010 = 42。

对于|=,考虑已知的例子,x +=5。这意味着x = x + 5,因此如果我们有x |= 5,这意味着x = x位或5。

在Python中,|=(ior)类似于联合运算。 例如,如果x=5和x|=5,那么两个值都将首先转换为二进制值,然后执行并集操作,我们得到答案5。

当与set一起使用时,它执行联合操作。

在Python和许多其他编程语言中,|是位或操作。|=之于|,正如+=之于+,即运算和赋值的组合。

var |= value是var = var | value的缩写。

一个常见的用例是合并两个集合:

>>> a = {1,2}; a |= {3,4}; print(a)
{1, 2, 3, 4}