什么是 Jython?
Jython 项目提供了 Python 在 Java 中的实现,为 Python 提供了在 JVM 上运行并访问用 Java 编写的类的优势。当前版本 (Jython 2.7.x) 仅支持 Python 2 (抱歉)。该项目在 GitHub 存储库中正在进行 Python 3 的工作。
Jython 实现可免费用于商业和非商业用途。它们在 PSF 许可证 v2 下以源代码形式分发。
Jython 是 Java 的补充,特别适合以下任务
- 嵌入式脚本 - Java 程序员可以将 Jython 库添加到他们的系统中,以允许最终用户编写简单或复杂的脚本,这些脚本可以为应用程序添加功能。
- 交互式实验 - Jython 提供了一个交互式解释器,可用于与 Java 包或正在运行的 Java 应用程序进行交互。这允许程序员使用 Jython 实验和调试任何 Java 系统。
- 快速应用程序开发 - Python 程序通常比等效的 Java 程序短 2-10 倍。这直接转化为提高程序员的生产力。Python 和 Java 之间的无缝交互允许开发人员在开发和发布产品期间自由地混合使用这两种语言。
以下是在简单 Java 应用程序中运行 Python 代码的示例
import org.python.util.PythonInterpreter;
public class JythonHelloWorld {
public static void main(String[] args) {
try(PythonInterpreter pyInterp = new PythonInterpreter()) {
pyInterp.exec("print('Hello Python World!')");
}
}
}
以下是从 Python 代码中使用 Java 的示例
from java.lang import System # Java import
print('Running on Java version: ' + System.getProperty('java.version'))
print('Unix time from Java: ' + str(System.currentTimeMillis()))
入门
准备开始了吗?前往 下载。
或者您可以阅读关于 Jython 特定功能 的快速概述。
可以在 Jython 手册 中找到更详细的介绍和参考。
谁在使用 Jython?
Jython 嵌入在许多项目中。从 MVNRepository 中查看一些项目
- IBM Websphere - 使用 Jython 提供管理脚本功能。
- Apache PIG - 使用 Jython 支持用户定义函数。
- ImageJ - 使用 Jython 提供脚本化的图像处理。
- GDA - 使用 Jython 编写科学实验脚本。
- Robot Framework - 一个通用的测试自动化框架,用于验收测试和验收测试驱动开发 (ATDD),它在 Jython 上运行。
- TigerJython - 基于 Jython 的教育编程环境。
- JEM/JythonMusic - 使用 Jython 进行音乐制作和创意编程的环境。