一、运行过程。
Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。
Python 虚拟机加载并运行字节码文件,运行的过程与操作系统加载运行可执行文件的方式相似。但是python虚拟机在运行的时候也使用内部构建的栈帧来运行。
二、具体过程。
1.虚拟机启动,初始化环境。(又是初始化。。。)
2.加载字节码文件,创建栈帧对象。
字节码 是PyCodeObject的对象。Python 代码的编译结果就是PyCodeObject对象;结构如下:
typedef struct {PyObject_HEADint co_argcount; /* 位置参数个数 */int co_nlocals; /* 局部变量个数 */