Jython 是 Python 编程语言的 JVM 实现。它设计为在 Java 平台上运行。Jython 程序可以导入和使用任何 Java 类。就像 Java 一样,Jython 程序编译为字节码。主要优点之一是,用 Python 设计的用户界面可以使用 AWT、Swing 或 SWT Package 的 GUI 元素。
Jython 最初是 JPython,后来更名为 Jython,它紧跟 Guido Van Rossum 创建的称为 CPython 的标准 Python 实现。Jython 由 Jim Hugunin 于 1997 年创建。Jython 2.0 于 1999 年发布。从那时起,Jython 2.x 版本对应于等效的 CPython 版本。Jython 2.7.0 于 2015 年 5 月发布,对应于 CPython 2.7。Jython 3.x 的开发正在进行中。
Python 和 Java 的区别
- Python 是一种动态类型语言。因此,不需要 variable 的类型声明。另一方面,Java 是一种静态类型的语言,这意味着 variable 的类型声明是强制性的,不能更改。
- Python 只有 unchecked 异常,而 Java 同时具有 checked 和 unchecked 异常。
- Python 使用缩进进行范围界定,而 Java 使用匹配的大括号。
- 由于 Python 是一种基于解释器的语言,因此它没有单独的编译步骤。但是,Java 程序需要编译为字节码,然后由 JVM 执行。
- Python 支持多重继承,但在 Java 中,多重继承是不可能的。但是,它具有接口的实现。
- 与 Java 相比,Python 具有更丰富的内置数据结构(列表、字典、元组,一切都是对象)。
Python 和 Jython 的区别
以下是 Python 和 Jython 之间的区别 -
- Python 的参考实现称为 CPython,是用 C 语言编写的。另一方面,Jython 完全用 Java 编写,是一个 JVM 实现。
- 标准 Python 在多个平台上可用。Jython 可用于任何安装了 JVM 的平台。
- 标准 Python 代码编译为 .pyc 文件,而 Jython 程序编译为 .class 文件。
- Python 扩展可以用 C 语言编写。Jython 的扩展是用 Java 编写的。
- Jython 本质上是真正的多线程。但是,Python 使用全局解释器锁 (GIL) 机制来实现此目的。
- 两种实现都有不同的垃圾回收机制。
在下一章中,我们将学习如何在 Jython 中导入 Java 库。