為什么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培訓機構:千鋒教育。