我認爲在Python這樣的語法:刪除重複的元素在Python
b=12
a=b
由 'A' 和 'b' 完全相同的元件。實際上:
id(b)
>>>31223540
id(a)
>>>31223540
a is b
>>>True
但是,如果我告訴解釋器刪除'a','b'停留在它的位置。
del a
b
>>>12
這是爲什麼?
我認爲在Python這樣的語法:刪除重複的元素在Python
b=12
a=b
由 'A' 和 'b' 完全相同的元件。實際上:
id(b)
>>>31223540
id(a)
>>>31223540
a is b
>>>True
但是,如果我告訴解釋器刪除'a','b'停留在它的位置。
del a
b
>>>12
這是爲什麼?
在這種情況下,您不能從python中刪除數字12
。它將刪除對12
(a
)的引用。但12
實際的對象仍然存在,b
仍然給它
編輯引用我想清楚一些東西。語法
b=12
a=b
不作a
和b
完全相同的元素。它使它們引用相同的元素
在python中,變量實際上是一個指針。
因此,a指向12,以及b。 當您通過使用id()函數請求id時,會得到a和b指向的id,即12。事實上,變量實際上是一個指針,在大多數情況下都是由用戶封裝的,但這不是其中之一。