Cpython和Jython的对比介绍

Posted 代码帮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cpython和Jython的对比介绍相关的知识,希望对你有一定的参考价值。

CPython

当我们从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的功能

Jython的优点

与相似的 Java 程序相比,Jython 极大的的减少了编程代码量。

Jython 为Java开发环境提供了脚本引擎;能很容易测试Java类库,同时拥有解释器和编译器,使其无需编译就可以测试程序代码;利用了Java原生垃圾收集器(Cpython没有实现该功能)。

技术分享图片技术分享图片?

以上是关于Cpython和Jython的对比介绍的主要内容,如果未能解决你的问题,请参考以下文章

尽管 JVM 取得了进步,为啥 Jython 比 CPython 慢得多?

在 CPython 中嵌入 Pig

运行在java虚拟机上的Python

Java调用Python程序方法Jpython使用

Java调用Python程序方法Jpython使用

Java调用Python程序方法Jpython使用