Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 铁蟒:铁蟒的好用途是什么_.net_Python_Ironpython_Dynamic Language Runtime - Fatal编程技术网

.net 铁蟒:铁蟒的好用途是什么

.net 铁蟒:铁蟒的好用途是什么,.net,python,ironpython,dynamic-language-runtime,.net,Python,Ironpython,Dynamic Language Runtime,我喜欢python,但我在.NET环境中工作,所以我研究了IronPython,想知道它将用于什么 你能在里面写个应用程序吗?或者是为了向应用程序添加脚本语言 你们是怎么用的?一个或两个:) 我不知道IronPython的具体“用途”,但它肯定可以用于编写应用程序,也可以用于在更大的.NET应用程序中编写脚本 除此之外,这是一种让Python开发人员轻松进入.NET世界的简便方法。(为什么不同时学习C#呢?进来吧,水很可爱……我们将它作为软件中的嵌入式语言使用。 我的博客上有一篇文章,但最近换了

我喜欢python,但我在.NET环境中工作,所以我研究了IronPython,想知道它将用于什么

你能在里面写个应用程序吗?或者是为了向应用程序添加脚本语言

你们是怎么用的?

一个或两个:)

我不知道IronPython的具体“用途”,但它肯定可以用于编写应用程序,也可以用于在更大的.NET应用程序中编写脚本


除此之外,这是一种让Python开发人员轻松进入.NET世界的简便方法。(为什么不同时学习C#呢?进来吧,水很可爱……

我们将它作为软件中的嵌入式语言使用。 我的博客上有一篇文章,但最近换了一个新系统。您可以在以下位置找到存档版本(具有断开的图像链接):

我们的现场工程师现在使用嵌入式语言进行动态测试, 我们的质量保证人员使用它来创建小脚本来测试硬件的所有功能,等等


希望这有帮助。

您可以在其中编写应用程序,也可以将其用作应用程序中的脚本语言


它用于访问现有的Python库,如果需要,如果.NET语言似乎不适合该工作,则可以用Python编写部分代码。

您可以使用它编写在.NET平台上运行的Python代码。它对Python所擅长的任何东西都有好处


不管怎样,Python语言就是Python语言。IronPython是该语言运行时的一个实现,它是编译源代码、创建虚拟机以执行生成的.pyc文件中的字节码、与操作系统通信以便将命令行参数放入
sys.argv
,以及所有其他有趣的东西的支持代码。(好吧,好吧,.NET平台本身也做了很多工作。:)

我对IronPython的经验是将其作为引擎的一部分使用,安装基本.NET应用程序后可以对其进行更改。 在Python的帮助下,我们描述了一组非常大的业务规则,这些规则可以从两个系统安装中更改。部分IronPython被用作插件语言

与脚本语言的区别在于编译后IronPython作为CLR代码执行

  • IronPython只是另一个Python实现。您可以在任何其他Python实现的任何地方使用它。(当然,模块化平台约束——显然,您不能在纯Java设备上使用IronPython。)
  • IronPython只是另一个.NET编译器。您可以在任何其他.NET语言的任何地方使用它
  • IronPython不仅仅是另一个Python实现。它是一个Python实现,允许您完全访问任何.NET库
  • IronPython不仅仅是另一个.NET编译器。它是一个.NET编译器,允许您完全访问任何Python库
  • IronPython是任何.NET应用程序、库和框架的嵌入式脚本引擎

我认为Iron系列语言主要是为了给平台添加更多的味道,让您能够使用熟悉的语言进入.NET。它大大降低了让不同背景的新人进入.NET的门槛

即使语法是Python,但实现仍然构建在CLR之上,如果您决定使用IronPython项目而不是C#,最终产品也不会有太大的不同

我有一些使用IronPython的经验,发现它很好用(当然,我非常喜欢这种语言,这会有所帮助)。IronPython现在被微软视为一等公民,这也是你在使用它时得到的印象。不过,使用它的一个缺点是,它没有两种主要语言那样被广泛采用,在协作和维护代码库方面会出现一些问题

我发现它在执行搜索算法的.NET端口时特别有用,该算法最初是在Python中实现的

关于向应用程序添加脚本功能,这可能不是IronPython的初衷,但已经做到了。Umbraco CMS已经(或至少已经)能够在其平台内使用Python作为动态脚本语言创建小部件。一个非常整洁的特性

你应该试试看。。拥有更多的工具总是好的:)

我认为他们的产品是用IronPython构建的。因此,IronPython确实有一些实际的用途


他们还热切地想将NumPy移植到IronPython和.Net。这肯定会扩大IronPython的吸引力。

首先:IronPython实际上更像是一个编译器,而不是严格意义上的解释器——它将用于从python源文件生成.NET程序集。因此,是的,你可以编写应用程序,以及.NET Framework可以做的任何事情

IronPython最大的好处之一是它(实际上)没有——这意味着如果您都在编写Python代码,而且它是多线程的——您通常可以获得比CPython更好的性能,而不必跨边界生成多个进程和pickle对象。它不能解决并发性问题,但是.NET提供了更健壮的结构来处理它。老实说,我认为这是一个很好的定位,但它确实存在


的python.org wiki页面还列出了一系列关键的区别点:

IronPython with WPF是我所知道的设计GUI的最有效的方法。下图中几乎所有的应用程序都是用IronPython编写的。出于性能原因,在C#或C++/CLI中只完成非常小的部分

当然,您确实错过了一些WPF/C集成,但您在生产力方面获得了更多

IronPython也比CPython更容易扩展。您可以使用C++代码和JUS
import clr
clr.AddReferenceToFileAndPath('MyAssembly.dll')

import MyNamespace

c = MyNamespace.MyClass()

c.MyFunction()