python檢視記憶體位址

2021-10-13 13:11:19 字數 513 閱讀 9310

python 通過id檢視記憶體位址

eg:

a=1

print(id(a))

#輸出94486697843200

不可變物件是指物件的記憶體值不能被改變。python中變數以引用的方式指向物件,如果變數引用了不可變物件,當改變該變數時,由於其所指的物件的值不能被改變,相當於把原來的值複製乙份後再改變,這會開闢乙個新的位址,變數再指向這個新的位址,即變數引用了新的物件。

數值型別(整數和浮點)、字串str、元組tuple都是不可變型別。比如a=1,b=[1],c=,id(a)、id(b[0])、id(1)、id(c['a'])將輸出一樣的值,因為1是不可變物件,其在記憶體中是不可改變的。

可變物件是指物件的記憶體值可以被改變,變數(準確的說是引用)改變後,實際上是其所指的值直接發生改變,並沒有發生複製行為,也沒有開闢新的記憶體位址,通俗點說就是原地改變。列表list、字典dict、集合set是可變型別。

參考部落格

python中如何檢視某個「常量」的記憶體位址

name admin 後面的admin值賦給變數name name1 name name2 name print id name name print id name1 name1 print id name2 name2 id 返回記憶體位址為什麼這裡的 常量 我用了引號呢,是因為這裡的 常量 是...

Python中檢視變數的型別記憶體位址所佔位元組的大小

python中檢視變數的型別,記憶體位址,所佔位元組的大小 檢視變數的型別 利用內建type 函式 nfc packers 49 afc r ens 48 combine zip nfc,afc type combine 檢視變數的記憶體位址 利用內建函式id 是以十進位制顯示 id nfc 264...

記憶體位址分配

inti 1 intj 1 cout i endl j endl 2 函式引數列表的存放方式是,先對最右邊的形參分配位址,後對最左邊的形參分配位址。3 little endian模式的cpu對運算元的存放方式是從低位元組到高位元組的 0x1234的存放方式入下 0x4000 0x34 0x4001 ...