Python基础:三、Python的解释器

时间:2022-11-05 17:11:05

        当我们编写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的字节码。