我很确定python脚本可以在所有三个中运行,但我想确定。我已经在这里和那里阅读过可以编写CPython,Jython,IronPython的编辑,我希望我能够深入了解这一区别。
我的情况是我有3种不同的api,我想测试。每个api执行相同的功能代码,但它们在实现上是不同的。我正在为每种语言的api编写包装器。每个包装器都应该使用Boost :: python,Jython和IronPython向python公开完全相同的功能和实现。
我的问题是,使用这些公开的方法编写的python脚本(每种语言都很常见)是否适用于Python的所有三种“风格”?
就像我说的那样,我很确定答案是'当然',但我需要确保在花费太多时间做这件事之前。
答案 0 :(得分:10)
简短的回答是:有时。
在IronPython之上构建的一些项目可能无法与CPython一起使用,并且一些用C语言编写的CPython模块(例如NumPy)将无法与IronPython一起使用。
在类似的说明中,当Jython实现语言规范时,它与CPython有几个不兼容(例如,它缺少CPython标准库的一些部分,它可以导入Java标准库包和类,如Swing)
所以,是的,只要你避免不兼容。