python記憶體位址和編譯位元組碼

2021-10-10 07:33:34 字數 1006 閱讀 1230

id() 函式用於獲取物件的記憶體位址

a =

'3'b =

'3'print(id

(a))

print(id

(b))

>

140328813804208

140328813804208

dis.dis()函式可以檢視編輯後的位元組碼

import dis

a ='if a is not none: pass'

b ='if not a is none: pass'

print

(dis.dis(a)

)print

(dis.dis(b)

)>

10 load_name 0

(a)2 load_const 0

(none

)4 compare_op 9(is

not)

6 pop_jump_if_false 8

>>

8 load_const 0

(none

)10 return_value

none

10 load_name 0

(a)2 load_const 0

(none

)4 compare_op 9(is

not)

6 pop_jump_if_false 8

>>

8 load_const 0

(none

)10 return_value

none

結論:a和b寫法不同,但效果/效能均相同

```@[toc]

(這裡寫自定義目錄標題)

C 位元組對齊(記憶體位址對齊)

現代計算機中記憶體空間都是按照byte劃分的,從理論上講似乎對任何型別的變數的訪問可以從任何位址開始,但實際情況是在訪問特定型別變數的時候經常在特 定的記憶體位址訪問,這就需要各種型別資料按照一定的規則在空間上排列,而不是順序的乙個接乙個的排放,這就是對齊。對齊的作用和原因 各個硬體平台對儲存空間的...

python檢視記憶體位址

python 通過id檢視記憶體位址 eg a 1 print id a 輸出94486697843200不可變物件是指物件的記憶體值不能被改變。python中變數以引用的方式指向物件,如果變數引用了不可變物件,當改變該變數時,由於其所指的物件的值不能被改變,相當於把原來的值複製乙份後再改變,這會開...

記憶體位址和記憶體空間

在操作暫存器時,遇到概念上的理解問題。混淆了記憶體位址與記憶體空間 首先,讀懂指令 ldr r0,0x11000c40 0x11000c40是暫存器gpx2con的位址,將這個位址寫入r0暫存器的空間 ldr r1,r0 將r0空間的位址所指向的4位元組資料,讀入r1的記憶體空間,即r1儲存了0x1...