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培训机构:千锋教育。