次のことを考慮してください。
>>> a = {}
>>> b = {}
>>> c = {}
>>> c['a'] = 'b'
>>> a
{}
>>> b
{}
>>> c
{'a': 'b'}
OK、これはすべてうまくいっています。まさに私が期待していることです。それで私はそれを短くします。
>>> a = b = c = {}
>>> c['a'] = 'b'
>>> a
{'a': 'b'}
>>> b
{'a': 'b'}
>>> c
{'a': 'b'}
どうしたの?これは、整数などの他の不変のデータ型では発生しません。
>>> a = b = c = 0
>>> a += 1
>>> a
1
>>> b
0
>>> c
0
それは不変性に関係しているのではないかと思いますが、この振る舞いは私には非常に奇妙です。なぜそれが起こるのか、誰かが光を当てることができますか?