拡張された代入ステートメントがよく使用されます。これは、さまざまな学習チャネルから、多くの場合、i = 1 が i = i 1 よりも効率的であることがわかるためです (ここでは例として = が使用されています)。実際、拡張された代入ステートメントはこれに限定されません)。したがって、コードを最適化するために通常の代入ステートメントを置き換えることができる場合には、インクリメンタル代入ステートメントを使用することに飽きることはありません。 i = 1 が実際には i = i 1 と等価ではない状況について考えたことはありますか!!
例 1: 拡張された代入ステートメントの使用:
例 2: 通常の代入ステートメントを使用する:
#上記 2 つの例では、リスト型オブジェクトが変数 a に代入され、次に変数 a に変数 b が与えられると、この時点では a と b は同じメモリ オブジェクト [1, 2, 3] を指します。次に、増分代入演算子と通常の代入演算子をそれぞれ適用して、変数 b を操作します。最終結果から判断すると、例 1 の a と b は、操作後も同じメモリ オブジェクトを指しています。逆に例 2 では、a と b はそれぞれ異なるメモリ オブジェクトを指しています。これは、例 2 では新しいメモリ オブジェクトが暗黙的に作成されることを意味します。
以上がPython で i += x と i = i + x が等しくないのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。