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


当前回答

这只是当前变量和另一个变量之间的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

其他回答

这只是当前变量和另一个变量之间的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

|是位或。所以x |= y等价于x = x | y。

对于集合,|有一个相关的含义:集合并集。与你在数学中使用OR求两个集合的交集相同,你可以在python中使用|

*注意:这两个表达式不是100%等效的。在x |= y后,id(x) == id(y)。x = x | y后,id(x) != id(y)

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

它对赋值的左侧和右侧执行二进制位或运算,然后将结果存储在左侧变量中。

http://docs.python.org/reference/expressions.html#binary-bitwise-operations

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

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

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

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