第二章、Python如何运行程序
Python解释器简介
从目前的实现上来讲,Python也是一个名为解释器的软件包。解释器是一种让其他程序运行起来的程序。
程序执行
1、程序员的视角:
就简单的形式而言,一个Python程序仅是一个包含Python语句的文本文件。
2、Python的视角:
①、字节码编译:
当程序执行时,Python内部(对大对数用户是完全隐藏的)会先将源代码(文件中的语句)编译成所谓字节码的形式。
②、Python虚拟机(PVM):
一旦程序编译成字节码(或字节码从已经存在的.pyc文件中载入),之后的字节码发送到通常称为Python虚拟机(Python Virtual Machine,简写为PVM)上来执行。
③、性能的含义:
Ⅰ、在Python的工作中通常没有“build”或“make”的步骤:代码在写好之后立即执行。
Ⅱ、Python字节码不是机器的二进制代码(例如,Intel芯片的指令)。字节码是特定于Python的一种表现形式。
④、开发的含义:
Python执行模块的另一个情况是其开发和执行的环境实际上并没有区别。也就是说,编译和执行源代码的系统是同一个系统。
执行模块的变体
1、Python实现的替代者:
①、CPython
②、Jython
③、IronPython
2、执行优化工具:
①、Psyco实时编译器
②、Shedskin C++转换器
3、冻结二进制文件:
冻结二进制文件能够将程序的字节码、PVM(解释器)以及任何程序所需要的Python支持文件捆绑在一起形成一个单独的文件包。
4、其他执行选项:
5、未来的可能性:
本章小结
本章介绍了Python的执行模块(Python如何运行程序)并探索了这个模块的一些变体(即时编译器以及类似的工具)。尽管编写Python脚本并没有必要了解Python的内部实现,通过本章介绍的主题获得的知识会帮助你从一开始编码时就真正理解程序是如何运行的。