python 字节码指令

发布时间:2022-05-11 09:39:53 人气:18 作者:多测师

  为什么 pyc 文件也称作字节码文件?因为这些文件存储的都是一些二进制的字节数据,而不是能让人直观查看的文本数据。

  Python 标准库提供了用来生成代码对应字节码的工具 dis。dis 提供一个名为 dis 的方法,这个方法接收一个 code 对象,然后会输出 code 对象里的字节码指令信息。

  s = open('demo.py').read()

  co = compile(s, 'demo.py', 'exec')

  import dis

  dis.dis(co)

  执行上面这段代码可以输出 demo.py 编译后的字节码指令

python 字节码指令

  1 0 LOAD_CONST 0 (-1)

  3 LOAD_CONST 1 (None)

  6 IMPORT_NAME 0 (foo)

  9 STORE_NAME 0 (foo)

  3 12 LOAD_CONST 2 (1)

  15 LOAD_CONST 3 (u'python')

  18 BUILD_LIST 2

  21 STORE_NAME 1 (a)

  4 24 LOAD_CONST 4 (u'a string')

  27 STORE_NAME 1 (a)

  6 30 LOAD_CONST 5 ()

  33 MAKE_FUNCTION 0

  36 STORE_NAME 2 (func)

  11 39 LOAD_NAME 1 (a)

  42 PRINT_ITEM

  43 PRINT_NEWLINE

  13 44 LOAD_NAME 3 (__name__)

  47 LOAD_CONST 6 (u'__main__')

  50 COMPARE_OP 2 (==)

  53 POP_JUMP_IF_FALSE 82

  14 56 LOAD_NAME 2 (func)

  59 CALL_FUNCTION 0

  62 POP_TOP

  15 63 LOAD_NAME 0 (foo)

  66 LOAD_ATTR 4 (add)

  69 LOAD_CONST 2 (1)

  72 LOAD_CONST 7 (2)

  75 CALL_FUNCTION 2

  78 POP_TOP

  79 JUMP_FORWARD 0 (to 82)

  >> 82 LOAD_CONST 1 (None)

  85 RETURN_VALUE

  以上内容为大家介绍了python 字节码指令,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


上一篇:python pyc 文件
下一篇:Python基础之封装
返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线