Python では、代入ステートメントの左側にあるカンマ区切りの変数を使用して、複数の代入を簡潔に実行できます。 。ただし、この動作は逐次代入とは異なり、予期しない結果を回避するには評価順序を理解することが重要です。
次の例を考えてみましょう:
>> x = 1 >> y = 2
両方の値を同時に代入しようとするとします。
>> x, y = y, x + y >> x 2 >> y 3
割り当てを実行した場合に期待される結果と異なります個別に:
>> x = 1 >> y = 2 >> x = y >> y = x + y >> x 2 >> y 4
この動作の違いは、評価が行われる順序によって生じます。 Python では、変数の代入を実行する前に、代入ステートメントの右側が完全に評価されます。
最初の例では、式 x y が最初に評価されます。結果の 3 が y に割り当てられます。次に、値 3 を保持する y が x に割り当てられます。これは、x (2) と y (3) の最終値を説明しています。
対照的に、2 番目の例では、最初に y が x に割り当てられます (結果として、x は値 2 を保持します)。次に、x y が評価され、4 に計算され、その結果が y に割り当てられます。
したがって、Python で複数の代入を実行するときは、予期しない結果を避けるために評価の順序を考慮することが重要です。
以上がPython の評価順序は変数の同時代入にどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。