编译器与解释器的区别
编译器是将源代码编译成机器码,在CPU上运行;
解释器是一边编译,一边运行的。
由于一段程序在解释器中运行可能会编译多次,故解释器效率较低,开销较大。
Python解释器
用来执行Python代码的解释器。
CPython是C语言开发的,是Python官网提供的官方版本解释器,在命令行下运行python就是启动了CPython解释器,提示符为>>>,是目前使用最广的Python解释器。
IPython是基于CPython的交互式解释器(可以一句一句写程序,每句都有回应),提示符为In[序号],相较于CPython在交互方式上有所加强,但执行代码的功能是一样,就如同国产浏览器调用了IE的内核一样。
PyPy的目标是执行速度,采用JIT技术,可对Python进行动态编译,显著提高Python代码的执行速度,但pypy与cpython执行结果将会不同。
Jython是运行在Java平台上得Python解释器,可以直接将Python代码编译成Java字节码(预编译的中间代码,本身为二进制文件,但不可以被系统直接执行,需要虚拟机(类似解释器)解释执行,由于被预处理过,比一般的解释代码运行速度快,但仍比系统直接执行要慢)执行。
IronPython是运行在微软.Net平台上得Python解释器,可以直接将Python代码编译成.Net的字节码。
小结
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性(不懂)。