python 字節碼指令
為什么pyc文件也稱作字節碼文件?因為這些文件存儲的都是一些二進制的字節數據,而不是能讓人直觀查看的文本數據。
python標準庫提供了用來生成代碼對應字節碼的工具dis。dis提供一個名為dis的方法,這個方法接收一個code對象,然后會輸出code對象里的字節碼指令信息。
s=open('demo.py').read()
co=compile(s,'demo.py','exec')
importdis
dis.dis(co)
執行上面這段代碼可以輸出demo.py編譯后的字節碼指令
10LOAD_CONST0(-1)
3LOAD_CONST1(None)
6IMPORT_NAME0(foo)
9STORE_NAME0(foo)
312LOAD_CONST2(1)
15LOAD_CONST3(u'python')
18BUILD_LIST2
21STORE_NAME1(a)
424LOAD_CONST4(u'astring')
27STORE_NAME1(a)
630LOAD_CONST5()
33MAKE_FUNCTION0
36STORE_NAME2(func)
1139LOAD_NAME1(a)
42PRINT_ITEM
43PRINT_NEWLINE
1344LOAD_NAME3(__name__)
47LOAD_CONST6(u'__main__')
50COMPARE_OP2(==)
53POP_JUMP_IF_FALSE82
1456LOAD_NAME2(func)
59CALL_FUNCTION0
62POP_TOP
1563LOAD_NAME0(foo)
66LOAD_ATTR4(add)
69LOAD_CONST2(1)
72LOAD_CONST7(2)
75CALL_FUNCTION2
78POP_TOP
79JUMP_FORWARD0(to82)
>>82LOAD_CONST1(None)
85RETURN_VALUE
以上內容為大家介紹了python字節碼指令,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

相關推薦HOT
更多>>
pythonfor循環是什么
pythonfor循環是什么在做遍歷的時候,對于一些數據的反復循環執行,我們會用到for循環的語句??梢哉f這是新手入門必學的語句之一,在很多基礎循...詳情>>
2023-11-13 07:46:36
pythoncontextmanager()的轉換
python中contextmanager()的轉換1、說明當發出請求時,requests庫會在將請求實際發送到目標服務器之前準備該請求。請求準備包括像驗證頭信息和...詳情>>
2023-11-13 06:34:35
python使用items()遍歷鍵值對
python使用items()遍歷鍵值對字典可以用來存儲各種方式的信息,所以有很多方式可以通過字典的所有鍵值對、鍵或值。說明1、即使通過字典,鍵值對...詳情>>
2023-11-13 04:24:15
python實例方法中self的作用
python實例方法中self的作用說明1、無論是創建類的構造方法還是實例方法,最少要包含一個參數self。2、通過實例的self參數與對象進行綁定,程序...詳情>>
2023-11-13 03:46:48