問題タブ [chained-assignment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
43 参照

python - 可変型の連鎖代入

コードの一部をデバッグするときに、この問題が発生しました。以前にこの動作を認識していなかった場合。

両方の「変数」が同じメモリ位置を指しています。ただし、一方が変更されると、もう一方も変更されます。

したがって、基本的にここでは、同じ変数/メモリ アドレスに 2 つの名前が割り当てられています。これは次のものとは異なります。

fooここで、 or のどちらかを変更してもbar、もう一方には影響しません。

だから私の質問は: なぜこの機能 (変更可能な型の連鎖代入) が Python にさえ存在するのですか? 自分の足を撃つためのツールを提供する以外に、何か目的がありますか?