Pythonチュートリアル9.2によると。 Pythonスコープとネームスペース:割り当ては名前をオブジェクトにバインドするだけですか?
割り当てはデータをコピーしません。オブジェクトに名前をバインドするだけです。
は、だから私は、次のコードは、私は驚かないことに驚いている:
>>> a = 42
>>> b = a
>>> b = b/2
>>> a
42
>>> b
21
割り当てb = a
は、名前だけですでにa
にバインドされているint
オブジェクト42
、へb
を結合すれば、 a
はb = b/2
の後に実行すると、a
とb
は同じオブジェクトを参照するため、21
にならないはずですか? B = B/2の後
いいえ、あなたは**リバウンド**の名前を持っています。整数は不変です。これを読んでください:http://nedbatchelder.com/text/names.html – jonrsharpe
オブジェクトには名前がありません。名前にはオブジェクトがあります。 – erip
@eripあなたはオブジェクトが多くの異なる名前を持つことができますが、名前は1つのオブジェクトのみを参照できることを意味しますか? –