在Python中,我們令一個變量等于另外一個變量時,并不是把值傳遞給它,而是直接把指向的地址更改了。我們想要查看一個變量在內(nèi)存中的地址,可以通過id(變量) 來查看。我們通過一個小例子來看看這個有趣的過程。
1
2
3
4
5
6
7
|
>>> x = 12 >>> y = 13 >>> id (x) >>> id (y) >>> x = y >>> id (x) >>> id (y) |
首先給x變量賦值為12,y變量賦值為13,我們用id(變量)分別查看x和y在內(nèi)存中的位置。上面顯示分別為1865402384和1865402416。然后我們令x = y后,再查看一下它們在內(nèi)存中的位置,發(fā)現(xiàn)x 和 y都指向了1865402416。由此可見,在python中,我們賦值的方式和C語言有所不同,c語言直接更改x那塊內(nèi)存里面的值,而Python直接改變x的指向,這讓我想起了指針。
我們接著嘗試一下,繼續(xù)在這里輸入下面的代碼
1
2
3
|
>>> y = 12 >>> id (y) 1865402384 |
天!發(fā)生了什么??y在內(nèi)存中的地址又變成1865402384了,準(zhǔn)確說,y又指向了1865402384這塊內(nèi)存區(qū)域了。這樣一看,和C語言的指針還真的很像呢。
原文鏈接:https://www.cnblogs.com/YaLi/archive/2017/08/12/7351932.html