我需要一个灵活的框架,并想尝试在它的不同位置注入(inject)一些代码,只是为了动态地改变行为。
因为它是一个 Java 项目,基本上我仅限于接口(interface)和玩弄那些背后的实现,我想我可以让 Jython 运行一下,看看它能带来什么。
我的意思是,eval()
是一个强大的函数,我可以将代码添加为字符串并对其进行求值,至少在 Python 中是这样,因为它基本上可以编译为 Java,所以出现了这个问题...
与 Python 相比,Jython 有哪些限制?在 Jython 中我不能在 Python 中做什么?
最佳答案
正如之前的帖子所述,您确实希望将 CPython 与 Jython 进行比较。如前所述,Jython 的稳定版本为 2.5.3,alpha 版本为 2.7。这意味着 Jython 缺少某些特性。例如,有序字典、计数器和命名元组都被添加到 Collections 中。从 2.5 开始打包。对于 Jython,您不能使用许多第 3 方 Python 库,例如 NumPy、SciPy、GeoDjango、Lxml 或任何使用 C 扩展的东西。
另一方面,Jython 有一些使用 CPython 无法获得的好处。使用 Jython,您可以 deploy Django on a standard Java server (例如 Tomcat、WebLogic 等)。您可以从 Jython 代码调用现有的 Java 类。
关于java - Python 能做什么而 Jython 不能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13035598/