作者:
int0x80 (請逐項修改)
2022-06-29 01:22:24python 裡面沒有地址的概念
所有變數都只是某個物件的reference
有一個內建的函數叫 id()
如果你用的是官方的實作的話
你可能會發現 id() 回傳的值「剛好」就是那個物件在機器上的地址
不過必須要分清楚實作還有規格的差別
就只是因為在機器上,地址可以用來唯一的識別一個物件
所以python的「實作」才用地址來區分物件
不代表必須這麼做
舉個例子 我可以「實作」一個python是這樣的:
在有任何assignment發生時 所有物件都搬到它地址+8的位置
所以 B=1 會讓A指向的物件的地址發生改變
沒有人規定不行 實際跑起來也不會出錯 只是速度會變慢
但在有定義什麼是地址的語言就不行
例如有指標的語言 像C
一個變數的地址就永遠是一樣的 不能夠改變
不然你就沒辦法dereference了