当我们编写python代码的时候,我们得到的是一个包含python代码的以.py为拓展名的文本文件,要运行代码,就需要python解释器去执行.py文件。 由于整个python语言从规范到解释器都是开源的,所以理论上,只要水平足够高,任何人都可以编写python解释器来执行python代码(当然,难度很大)。
事实上,存在多种python解释器:
1. CPython
当我们从python官方网站上下载并安装好python后,我们就直接得到来一个官方版本的解释器:CPython。这个解释器是用c语言开发的,所以叫它CPython。在命令行下运行python就是启动CPython解释器,它是使用最广的Python解释器。
2. IPython
IPython是基于CPython之上的交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。
CPython用 >>> 作为提示符,而IPython用 In[序号]: 作为提示符。
3. PyPy(一次性全部编译成python字节码,然后再运行)
PyPy是另一个python的解释器,它的目标是执行速度。PyPy采用JIT技术,对python代码进行动态编译(注意,不是解释),所以可以显著提高python代码的执行速度。绝大部分python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的python代码在两种解释器下执行可能会有不同的结果。如果要将代码放到PyPy下执行,就需要了解PyPy和CPython的不同点。
4. Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
5. IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。