ホームページ  >  記事  >  バックエンド開発  >  Python で i += x と i = i + x が等しくないのはどのような場合ですか?

Python で i += x と i = i + x が等しくないのはどのような場合ですか?

silencement
silencementオリジナル
2019-05-23 11:04:584313ブラウズ

Python で i += x と i = i + x が等しくないのはどのような場合ですか?

拡張された代入ステートメントがよく使用されます。これは、さまざまな学習チャネルから、多くの場合、i = 1 が i = i 1 よりも効率的であることがわかるためです (ここでは例として = が使用されています)。実際、拡張された代入ステートメントはこれに限定されません)。したがって、コードを最適化するために通常の代入ステートメントを置き換えることができる場合には、インクリメンタル代入ステートメントを使用することに飽きることはありません。 i = 1 が実際には i = i 1 と等価ではない状況について考えたことはありますか!!

例 1: 拡張された代入ステートメントの使用:

Python で i += x と i = i + x が等しくないのはどのような場合ですか?

例 2: 通常の代入ステートメントを使用する:

Python で i += x と i = i + x が等しくないのはどのような場合ですか?

#上記 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。