有“ + =”運算符,即int。a = 5a += 1b = a == 6 # b is True是否有bool的“ and =“運算符?a = Truea and= 5 > 6 # a is Falsea and= 5 > 4 # a is still False我知道,此“ and =”運算符將對應(yīng)于:a = Truea = a and 5 > 6 # a is Falsea = a and 5 > 4 # a is still False但是,我經(jīng)常執(zhí)行此操作,但我認(rèn)為它看起來并不整潔。
3 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗 獲得超5個贊
是的-您可以使用&=。
a = True
a &= False # a is now False
a &= True # a is still False
您可以類似地使用|=“ or =”。
應(yīng)該注意的是(這在下面的評論中)這實際上是一個按位操作;僅當(dāng)a以Boolean開頭時,它才會具有預(yù)期的行為,并且僅使用Boolean進(jìn)行操作。

慕的地6264312
TA貢獻(xiàn)1817條經(jīng)驗 獲得超6個贊
nrpeterson向您展示了如何&=與布爾值一起使用。
我僅顯示如果將布爾值和整數(shù)混合使用會發(fā)生什么情況
a = True
a &= 0 # a is 0
if a == False : print "hello" # "hello"
a = True
a &= 1 # a is 1
if a == False : print "hello" # nothing
a = True
a &= 2 # a is 0 (again)
if a == False : print "hello" # "hello"
a = True
a &= 3 # a is 1
if a == False : print "hello" # nothing
添加回答
舉報
0/150
提交
取消