首页
学习
活动
专区
圈层
工具
发布

困境
EN

Stack Overflow用户
提问于 2009-09-10 02:30:15
回答 5查看 3.7K关注 0票数 15

我开始学习Python,现在我非常喜欢它。但是,如果你能为我回答几个问题,这些问题一直困扰着我,而我却找不到确切的答案:

  1. 在语言兼容性方面,Python的C实现(来自python.org的主版本)与IronPython之间的关系是什么?它是同一种语言吗?通过学习一种语言,我能顺利地过渡到另一种语言吗?或者是JavaScript?
  2. IronPython库的当前状态是什么?它落后于CPython库多少?我最感兴趣的是numpy/scipy和f2py。它们对IronPython可用吗?
  3. 从Python访问VB的最佳方法是什么,从python返回的另一种方式是什么(确切地说,将一些python库连接到Excel的VBA )?
EN

回答 5

Stack Overflow用户

发布于 2009-09-10 02:46:03

1) IronPython和CPython语言语法基本相同。他们之间的差别很小。过渡应该是微不足道的。

2) IronPython库与CPython库有很大的不同。Python库落后于相当多的CPython可访问库(目前)在IronPython下无法工作。然而,IronPython完全可以直接访问整个.NET框架,这意味着它拥有本机可访问的最广泛的库之一,因此在许多方面,它远远领先于CPython。一些numpy/scipy库在IronPython中不工作,但是由于.NET实现,一些功能是不必要的,因为perf。特征是不同的。

3)使用IronPython访问Excel会更容易,如果您是从VBA访问的话。如果您试图自动化excel,IronPython仍然更容易,因为您可以访问Execl主互操作程序集,并且可以使用与C#和VB.NET相同的库直接自动化它。

票数 18
EN

Stack Overflow用户

发布于 2009-09-10 04:24:42

在语言兼容性方面,Python的C实现(来自python.org的主版本)与IronPython之间的关系是什么?它是同一种语言吗?通过学习一种语言,我能顺利地过渡到另一种语言吗?或者是JavaScript?

同一种语言(目前为2.5级-- IronPython还没有2.6 )。

IronPython库的当前状态是什么?它落后于CPython库多少?我最感兴趣的是numpy/scipy和f2py。它们对IronPython可用吗?

在今天的IronPython中,标准库处于一个很好的状态,就像你提到的那些远离它的巨大的第三方扩展。numpy已经开始变得可行了,这要归功于铁皮,但不像numpy (从IronPython的0.5个版本号中看到的那样)生产级。scipy庞大而庞大,充斥着C代码和Fortran编码的扩展:我没有第一手的经验,但我怀疑在除CPython之外的任何实现下,都会运行不到一半,更不用说完美地运行了。

从Python访问VB的最佳方法是什么,从python返回的另一种方式是什么(确切地说,将一些python库连接到Excel的VBA )?

IronPython应该通过.NET方法使它变得更容易,但是CPython通过win32all中的COM实现并没有那么远。

最后但并非最不重要的一点是,看看“IronPython在行动中”一书--正如我每次推荐这本书时所说的,我有偏见(因为我曾经是它的技术评论员,并与一位作者建立了友谊),但我认为它客观上是.NET开发人员对Python最好的介绍,同时也是Pythonistas对.NET最好的介绍。

如果你需要所有的scipy (哇,但那是-一些的“文艺复兴人”计算科学家!-),CPython真的是今天唯一的现实选择。我确信其他大型扩展(比如PyQt或Mayavi)也处于类似的状态。然而,为了深入集成今天的Windows,我认为IronPython可能有优势。对于一般用途,CPython可能更好(尤指)。多亏了2.6中的许多新特性,除非()您真的非常希望在一个进程中最大限度地使用多个核心,在这种情况下,IronPython (这是GIL-less)可能再次证明是有利的。

无论如何(甚至是在Jython的JVM上,或者在特殊的环境中,通过PyPy) Python无疑是一种很棒的语言,无论您为给定的应用程序选择什么实现!-)请注意,您不需要坚持一个实现(尽管您可能应该选择一个版本-- 2.5以实现与IronPython、Jython、Google等的最大兼容性;2.6如果您不关心任何部署选项,除了“我自己的唯一或虚拟控制下的机器上的CPython”;-)。

票数 11
EN

Stack Overflow用户

发布于 2009-09-11 12:56:36

  1. 当前发布的Python2.0.2版本支持Python2.5语法。在下一个版本2.6中,预计在下个月左右的某个时间(虽然我不确定团队是否确定了一个硬发布日期;这里是测试版),他们将支持Python2.6语法。所以,更少的Java到JavaScript,更多的Java到J# :-)
  2. 所有用Python编写的库都非常完美。用C编写的代码更有问题;有一个名为铁皮 (完全公开:由我的公司开发和支持)的开源项目,目前版本为0.8.5,它很好地支持numpy,但没有涵盖所有的C。我想我们还没有用f2py测试过它。(亚历克斯·马泰利( Alex )下面提到的“铁甲”版本已经一年多了,请不要这样做!)
  3. 从VB.NET调用常规IronPython非常容易--您可以非常容易地实例化.NET类和调用方法(静态或实例)。调用现有的VBA代码可能更困难;有些名为皮内克斯XLW的开放源代码项目可能需要查看。或者,如果您想要一个电子表格,您可以用Python编写代码,那么总是有Resolver One (另一个来自我的公司.:-)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1403103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档