我很喜欢Python,但我在.NET环境中工作,因此我正在研究Iron Python,并想知道它的用途。
您能用它编写应用程序吗?还是用于向应用程序添加脚本语言?
你们如何使用它?
我很喜欢Python,但我在.NET环境中工作,因此我正在研究Iron Python,并想知道它的用途。
您能用它编写应用程序吗?还是用于向应用程序添加脚本语言?
你们如何使用它?
要么两者皆可 :)
我不会声称我知道 IronPython 的特定 "目的",但它肯定可以用于编写应用程序,并且可以用于在较大的 .NET 应用程序中进行脚本编写。
除此之外,它是一个方便的方式,可以让 Python 开发人员逐渐进入 .NET 世界。 (为什么不同时学习 C#?来吧,水很好...)
IronPython最大的好处是将Python和.NET世界紧密结合在一起。
如果您有用C#编写的库(程序集),您可以直接导入它们到IronPython中并使用它们,就像这样:
import clr
clr.AddReferenceToFileAndPath('MyAssembly.dll')
import MyNamespace
c = MyNamespace.MyClass()
c.MyFunction()
IronPython是一种很好的方法,可以重用现有的.NET代码进行脚本编写,甚至与IronPython解释器进行交互使用。
普通的CPython需要使用Python .NET来实现类似功能。根据我的经验,Python .NET大部分时候都有效,但并非总是如此,因此IronPython在从Python中访问.NET方面提供了更加完善的体验。
相比标准库支持等方面,IronPython可能始终落后于CPython参考实现,但总体而言,开发进度并不会远落后于CPython,因此从CPython背景下使用IronPython并不困难。
最后,CPython和IronPython之间存在一些显著的区别,需要注意。例如,垃圾回收(前几天我就碰到了这个问题...)。
sys.argv
,等等其他有趣的事情。(好吧,实际上.NET平台自己也做了很多工作。 :))我的IronPython经验是将其用作引擎的一部分,可以在安装基本的.Net应用程序后进行更改。借助Python,我们描述了真正庞大的业务规则集,可以从两个系统安装中进行更改。 IronPython部分地被用作插件语言。
与脚本语言的区别在于,IronPython在编译后作为CLR代码执行。
你可以在其中编写应用程序,也可以将其用作应用程序中的脚本语言。
它用于访问现有的Python库,并且如果需要,在Python中编写代码的某些部分,如果.NET语言似乎不太适合该工作。