Python有inplace operators,例如-=
和|=
,用于算术和位操作:
FLAG_FOO = 1 << 0
FLAG_BAR = 1 << 1
mask = FLAG_FOO
mask |= FLAG_BAR
assert mask == 3 == FLAG_FOO | FLAG_BAR
是否有实际True
/ False
布尔人的等效内容?
答案 0 :(得分:1)
如this question中所述,按位&
(和)和|
(或)适用于bool
变量:
foo = False
foo |= True
assert foo == True == False | True == False or True
如果不使用inplace运算符,使用逻辑and
和or
运算符会更加惯用。使用布尔运算器上的位运算符可能会令人困惑,因为例如~True
为-2
,而不是False
。