複数の変数が 1 行で同じ値に代入される Python の連鎖代入では、その動作と異なる連鎖された割り当て間の関係。この記事は、これらの概念を明らかにすることを目的としています。
連鎖された割り当てを考えてみましょう:
x = y = somefunction()
これは、次の個別の割り当てと同等です:
temp = somefunction() x = temp y = temp
一番左のターゲットが最初に割り当てられることに注意することが重要です。これは、somefunction() によって返された値が連鎖代入の左端の変数に代入され、その後、その値が残りの変数に再代入されることを意味します。
連鎖代入を使用して変更可能なオブジェクト (リスト、辞書など) を割り当てる場合は注意が必要です。次のことを考慮してください:
x = y = [] # Wrong x.append(1) print(y) # Prints [1]
この場合、x と y は同じリストを参照します。 x に追加すると、y も基になる同じオブジェクトのエイリアスであるため、影響を受けます。
個別の個別の変数を作成するには、各変数を独自の値に割り当てることが常に推奨されます。
x = [] # Right y = [] # Right
x と y は 2 つの別々の空のリストです。
以上が以下に、質問ベースで記事の内容に関連する英語のタイトル オプションをいくつか示します。 * Python の連鎖代入: どのように機能するのか? * 連鎖された割り当ては常に安全ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。