python 字节码指令

2023-12-13 9:24:22 网络知识 匿名

为什么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培训机构:瀚银百科。

发表评论: