1
Python有inplace operators這樣-=
和|=
算術和位操作:Python的就地布爾運算符
FLAG_FOO = 1 << 0
FLAG_BAR = 1 << 1
mask = FLAG_FOO
mask |= FLAG_BAR
assert mask == 3 == FLAG_FOO | FLAG_BAR
是否有實際True
/False
布爾等同?
Python有inplace operators這樣-=
和|=
算術和位操作:Python的就地布爾運算符
FLAG_FOO = 1 << 0
FLAG_BAR = 1 << 1
mask = FLAG_FOO
mask |= FLAG_BAR
assert mask == 3 == FLAG_FOO | FLAG_BAR
是否有實際True
/False
布爾等同?
正如this question提到的,按位&
(和)和|
(或)爲bool
變量做工精細:
foo = False
foo |= True
assert foo == True == False | True == False or True
當不使用就地運營商,它更習慣使用邏輯and
和or
運營商。使用布爾運算符上的位運算符可能會令人困惑,因爲例如~True
是-2
,而不是False
。