当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
标准版本的Python是用C来编译的,又被称为Cpython。
还有一个用的Python解释器是完全由Java写成的,名为Jython。
两种解释器之间存在一些细微的差别,但是它们非常接近,而且启动环境也完全相同。
通常意义上说的Python是CPython,也就是用C来编译的,它支持C的扩展,不支持Java的扩展。
Jython,是用JPython实现的Python,它支持用Java扩展,只要有Java虚拟机,就能运行Jython,拥有访问Java包与类库的能力;提供访问Java原生异常处理的能力;继承了JavaBeans的特性和内省能力。鼓励Python到Java的开发,Jython程序可以和Java无缝集成。除了一些标准模块,Jython使用Java的模块。Jython几乎拥有标准的Python中不依赖于C语言的全部模块。比如,GUI开发人员可以访问Java的AWT/Swing库,Jython的用户界面将使用Swing,AWT或者SWT。 Jython可以被动态或静态地编译成Java字节码。
Jython还包括 Jythonc,一个将Python代码转换成Java代码的编译器。这意味着Python程序员能够将自己用Python代码写的类库用在Java程序里。
当前的Jython版本是Jython-2.7.0。它改进了与Java的整合并且实现了CPython 2.5的功能
与相似的 Java 程序相比,Jython 极大的的减少了编程代码量。
Jython 为Java开发环境提供了脚本引擎;能很容易测试Java类库,同时拥有解释器和编译器,使其无需编译就可以测试程序代码;利用了Java原生垃圾收集器(Cpython没有实现该功能)。