Python 执行细节

1.Python脚本执行时,Python内部会首先将源代码编译成字节码的形式。字节码是平台无关的。

  • 字节码是平台无关的
  • 如果Python进程拥有写入权限,则它会将脚本的字节码以一个.pyc为扩展名的文件。当脚本运行后你可以在源代码所在的目录附近看到.pyc文件。
    • 下一次运行脚本时,如果你在上次保存字节码之后没有修改源代码时,Python会自动加载.pyc文件并跳过编译步骤
  • 如果Python进程没有写入权限,则字节码会在内存中生成并在脚本执行结束后抛弃。
  • .pyc文件也是发布Python程序的方法之一。此时并不需要提供.py源代码。

2.字节码由Python虚拟机(简称PVM)来解释执行。实际上PVM不是一个独立的程序,它只是迭代运行字节码指令的一个大循环而已,它是Python系统的一部分。