1.3.1 Python解释器

当我们完成Python程序代码编写后,将获得以.py为扩展名的Python代码文件。要让计算机读懂并运行这些代码,就需要Python解释器的帮助。在安装Python软件后,就获得了一个官方版本的解释器——CPython。在命令行下运行Python就是启动CPython。

由于Python从规范到解释器都是开源的,所以,从理论上讲,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,除了CPython,还存在多种Python解释器,常见的有如下几种。

1.IPython

IPython是基于CPython的一个交互式解释器,比默认的python shell更方便,支持变量自动补全、代码自动缩进、bash shell命令,并内置了许多有用的功能和函数。IPython只是在交互方式上有所增强,执行Python代码的功能和CPython是完全一样的。

2.PyPy

PyPy是另一个Python解释器,执行速度快。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),可以显著提高Python代码的执行速度。PyPy比CPython更加灵活,易于使用和试验,以制定具体的功能在不同情况的实现方法,并且很容易实施。

虽然绝大多数Python代码都可以在PyPy下运行,但是PyPy和CPython仍有不同之处,如果要将代码放到PyPy下执行,就需要了解PyPy和CPython的不同之处。

3.Jython

Jython是运行在Java平台上的Python解释器,用户可以直接把Python代码编译成Java的字节码来执行。它是Python在Java中的完全实现。Jython也有很多从CPython中继承的模块库。Jython不仅提供了Python的库,还提供了所有的Java类。

4.IronPython

IronPython和Jython类似,只不过它是运行在微软.NET平台上的Python解释器,可以直接把Python代码编译成.NET的字节码。

虽然Python解释器有很多,但使用最广泛的还是CPython。如果要与Java或.NET平台交互,最好是通过网络调用来实现,以确保各程序之间的独立性。