7

我很确定 python 脚本可以在所有三个中工作,但我想确定一下。我在这里和那里阅读过关于可以编写 CPython、Jython、IronPython 的编辑器的信息,我希望我能深入了解其中的区别。

我的情况是我要测试 3 个不同的 api。每个 api 在代码方面执行相同的功能,但它们在实现上是不同的。我正在围绕每种语言的 api 编写包装器。每个包装器都应该使用 Boost::python、Jython 和 IronPython 向 python 公开完全相同的功能和实现。

我的问题是,使用这些公开的方法(每种语言都通用)编写的 Python 脚本是否适用于 Python 的所有三种“风格”?

就像我说的那样,我很确定答案是“当然”,但在我花太多时间做这件事之前,我需要确定一下。

4

1 回答 1

10

简短的回答是:有时。

一些基于 IronPython 构建的项目可能无法与 CPython 一起使用,并且一些用 C 编写的 CPython 模块(例如 NumPy)无法与 IronPython 一起使用。

同样,虽然 Jython 实现了语言规范,但它与 CPython 有几个不兼容的地方(例如,它缺少 CPython 标准库的一些部分,它可以导入 Java 标准库包和类,如 Swing)

所以,是的,只要你避免不兼容。

于 2009-12-23T17:04:13.747 回答