在與Python的更深入的工作聯繫之後,我已經理解,賦予變量等於創建具有其自己的特定地址的新對象,而不管分配給該變量的變量名稱目的。Python中的對象創建 - 修改後的變量發生了什麼?
在這種情況下,它讓我想知道後來創建和修改的對象會發生什麼。它坐在那裏消耗內存嗎?
記scenarion看起來是這樣的:
# Creates object with id 10101001 (random numbers)
x = 5
# Creates object with id 10010010 using the value from object 10101001.
x += 10
會發生什麼id爲10101001反對? 出於好奇心,爲什麼對象需要一個ID和一個變量名是變量名,只是給變量名分配地址不是更好嗎?
對於這個問題,我很抱歉提出這個問題可能會引起某人的注意。
''x = 5'創建一個新對象'...不完全正確:http://stackoverflow.com/questions/306313/pythons-is-operator-behaves-unexpectedly-with-integers –
您可能會發現本文很有幫助:[關於Python名稱和值的事實和神話](http://nedbatchelder.com/text/names.html),這是由SO經驗豐富的Ned Batchelder編寫的。 –
@PM 2Ring這是否意味着,如果我有兩個變量具有相同的值但不互相補充,實際上只有一個對象,但具有多個「標籤?」,如:x = 5; y = 5但是隻有一個值爲5的整數對象? –