fed*_*qui 32
这只是当前变量和另一个变量之间的OR运算.存在T=True
和F=False
,以图形方式查看输出:
r s r|=s
--------------
T T T
T F T
F T T
F F F
Run Code Online (Sandbox Code Playgroud)
例如:
>>> r=True
>>> r|=False
>>> r
True
>>> r=False
>>> r|=False
>>> r
False
>>> r|=True
>>> r
True
Run Code Online (Sandbox Code Playgroud)
pyl*_*ang 25
|=
执行inplace,按位OR运算,并执行Python集的并集操作.
例如,两个集合的x
并集并y
共享以下等效表达式:
>>> x = x | y # (1)
>>> x |= y # (2)
>>> x.__ior__(y) # (3)
Run Code Online (Sandbox Code Playgroud)
其中最终值x
相当于:
有关Python运算符的特殊方法,请参阅Python 3中Dive的B.8节.
以下是一些比较OR(|
)和|=
应用于集合的inplace OR()的示例:
>>> x = {"a", "b", "c"}
>>> y = {"d", "e", "f"}
>>> # OR, |
>>> x | y
{'a', 'b', 'c', 'd', 'e', 'f'}
>>> x # `x` is unchanged
{'a', 'b', 'c'}
>>> # Inplace OR, |=
>>> x |= y
>>> x # `x` is reassigned
{'a', 'b', 'c', 'd', 'e', 'f'}
Run Code Online (Sandbox Code Playgroud)
下面是重载__ior__()
方法以迭代MutableSet
抽象基类中的迭代的示例.在Raymond Hettinger的OrderedSet配方中也可以看到它并进行了细分(见第3和10行).这是关于为什么要用来更新集合的Python想法的线程|=
.
它执行赋值的左侧和右侧的二进制按位OR,然后将结果存储在左侧变量中.
http://docs.python.org/reference/expressions.html#binary-bitwise-operations
归档时间: |
|
查看次数: |
44804 次 |
最近记录: |