在Python中,我們令一個變量等於另外一個變量時,並不是把值傳遞給它,而是直接把指向的地址更改了。我們想要查看一個變量在內存中的地址,可以通過id(變量) 來查看。我們通過一個小例子來看看這個有趣的過程。
>>> x = 12 >>> y= 13 >>> id(x) 1865402384 >>> id(y) 1865402416 >>> x = y >>> id(x) 1865402416 >>> id(y) 1865402416
首先給x變量賦值為12,y變量賦值為13,我們用id(變量)分別查看x和y在內存中的位置。上面顯示分別為1865402384和1865402416。然后我們令x = y后,再查看一下它們在內存中的位置,發現x 和 y都指向了1865402416。由此可見,在python中,我們賦值的方式和C語言有所不同,c語言直接更改x那塊內存里面的值,而Python直接改變x的指向,這讓我想起了指針。

我們接着嘗試一下,繼續在這里輸入下面的代碼
>>> y = 12
>>> id(y)
1865402384
天!發生了什么??y在內存中的地址又變成1865402384了,准確說,y又指向了1865402384這塊內存區域了。這樣一看,和C語言的指針還真的很像呢。
