什么是 Python 字节码

Python 是一个混合解释器。在运行程序时,它首先将其组装成字节码,然后可以在 Python 解释器(也称为 Python 虚拟机 )中运行。标准库中的 dis 模块可用于通过反汇编类,方法,函数和代码对象使 Python 字节码易于阅读。

>>> def hello():
...     print "Hello, World"
...
>>> dis.dis(hello)
  2           0 LOAD_CONST               1 ('Hello, World')
              3 PRINT_ITEM
              4 PRINT_NEWLINE
              5 LOAD_CONST               0 (None)
              8 RETURN_VALUE

Python 解释器是基于堆栈的,使用先进后出系统。

Python 汇编语言中的每个操作代码(操作码)(字节码)从堆栈中获取固定数量的项目,并将固定数量的项目返回到堆栈。如果操作码的堆栈上没有足够的项目,Python 解释器将崩溃,可能没有错误消息。