1

するのは合法ですか

a = b = 3

パイソンで?もしそうなら、それは悪い習慣ですか?

4

2 に答える 2

8

はい、そうすることは合法です。いいえ、悪い習慣ではありません。

右側の値式が最初に評価され、次に左から右に代入が行われることを考慮してください。3が最初に割り当てられa、次に に割り当てられbます。

割り当てステートメントのドキュメントから:

割り当てステートメントは式リストを評価し (これは単一の式またはコンマ区切りのリストであり、後者はタプルを生成することに注意してください)、単一の結果オブジェクトを各ターゲット リストに左から右に割り当てます。

すべてのターゲットに同じ値を割り当てます。つまり、各変数は1 つの値のみを参照します。これは、リストや辞書のように値が変更可能な場合に重要です。

于 2013-06-26T08:03:34.223 に答える
8

はい、次のようなことに注意してください。

a = b = []
a.append(2)
print a
print b

版画:

[2]
[2]

しかし、それ以外は問題ありません。@Martijnの回答には多くの情報が含まれているので、チェックしてみてください :)。

于 2013-06-26T08:04:16.317 に答える