4

つまり、int には "+=" 演算子があります。

a = 5
a += 1
b = a == 6 # b is True

boolの「and =」演算子はありますか?

a = True
a and= 5 > 6 # a is False
a and= 5 > 4 # a is still False

この 'and=' 演算子は次のようになります。

a = True
a = a and 5 > 6 # a is False
a = a and 5 > 4 # a is still False

しかし、私はこの操作を非常に頻繁に行うため、見た目があまりきれいではないと思います。

ありがとう

4

3 に答える 3

10

はい、使用できます&=

a = True
a &= False  # a is now False
a &= True   # a is still False

|=「or=」にも同様に使用できます。

これは実際にはビット単位の操作であることに注意してください (以下のコメントのように)。ブール値として開始され、操作がブール値でのみ実行される場合にのみ、期待される動作が行われます。a

于 2013-06-10T14:29:27.937 に答える
4

nrpeterson は&=、ブール値を使用する方法を示しました。

ブール値と整数を混ぜた場合に何が起こるかだけを示します

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
于 2013-06-10T14:50:46.923 に答える
3

オペレータ ライブラリをご覧ください: http://docs.python.org/3/library/operator.html

これにより、次のことが可能になります

a = True
a = operator.iand(a, 5>6) # a is False
于 2013-06-10T14:33:08.680 に答える