什么是 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 解释器将崩溃,可能没有错误消息。