4行目で、なぜ「-」の後に「=」を追加する必要があるのですか?
num = 5
if num > 2:
print(num)
num -= 1
print(num)
num - 1: から 1 を引いた結果を生成しnumます。num変更されていません
num -= 1: から 1 を引いて、その結果を格納します ( when is a number とnum同等)num = num - 1num
、または などの結果を生成するため、式num - 1として使用できますが、Python では式として使用できないことに注意してください。foo = num - 1print(num - 1)num -= 1
num -= 1
と同じです
num = num - 1
は=、減算の結果を に代入するために必要ですnum。
以下:
num -= 1
から 1 を減算しnum 、結果を に代入しnumます。
一方で、次のようになります。
num - 1
から 1 を減算しnum 、結果を破棄します。
becausenum - 1は何もしませんがnum -= 1、 の値をnumマイナス 1 だけ変更します。
あなたは本質的に違いを求めています
num - 1
と
num -= 1
前者は に評価される式ですnum - 1。後者は に割り当てる代入num - 1ですnum。
したがって、前者は を変更しませんがnum、後者は変更します。
これは、短いバージョンの書き込みです。
num = num - 1
プログラムを正しく実行するために何かをする必要がない限り、何もする必要はありません。いくつかのことは良い習慣ですが、何らかの方法で何かをしなければならないことを、コンパイラーと仕様以外の誰かまたは何かに納得させてはいけません。この場合、n -= 1は とまったく同じn = n - 1です。したがって、 を の-前に置きたくない場合=は、しないでください。n = n - 1代わりに使用してください。
-=オペレーターです。この演算子は減算と同じです。
num -= 1手段は num = num - 1
右辺の与えられた値でそれ自体から減算するために使用されます。
the-=は演算子であり、あなたが書いたものは を生成しnum = num - 1ます。