IronPython是100%的纯Python变种吗?

4 投票
4 回答
1330 浏览
提问于 2025-04-16 06:19

我刚从Python官网上下载了原版的Python解释器。我想学习这门语言,但一开始我想写一些基于Windows的独立应用程序,这些应用程序可以使用任何关系型数据库管理系统(RDBMS)。我希望能像普通的Windows安装包那样打包它。

我在StackOverflow上查找了一些旧帖子,发现有人推荐使用wxPython和py2exe。还有一些人建议使用IronPython,因为它是基于.NET的。

我想知道IronPython是纯粹的Python变种还是经过修改的版本。其次,Python的实际用途是什么?它是像PHP那样的东西,还是像C#(你可以编写基于Windows的应用程序或网页)?

4 个回答

1

“纯Python”是什么意思呢?如果你是指用Python实现的模块,那么没有哪个Python实现是完全纯的。如果你是说“与cPython兼容”,那可以说是的,写给cPython的代码在IronPython中也能运行,但有一些注意事项。最重要的一点是,两个环境中的库是不一样的,比如依赖于ctypesTkinter的代码就不能在IronPython中使用。另外,IronPython的版本更新比cPython慢一点,目前最新的版本是2.6.1,还有一个Alpha版本支持部分2.7的语言特性。

那么你到底需要什么呢?如果你想用Python学习编程,并且想为Windows开发程序,你可以选择IronPython,但也可以用cPython和py2exe;这两者都能很好地完成这个任务,主要区别在于使用的库不同。

1

IronPython 是一个独立的 Python 实现,它是用 C# 语言写的,而不是像原版 Python 那样用 C 语言写的。原版 Python 通常被称为 CPython,因为它的确是用 C 语言开发的。

Python 是一种多用途的编程语言,你可以用它来写网页应用(通常会用到像 DjangoPylons 这样的框架),也可以用来写图形用户界面应用(就像你提到的那样),还可以用来制作命令行工具,或者作为嵌入在其他语言写的应用中的脚本语言(比如,3D建模工具 Blender 就可以用 Python 来编写脚本)。

6

IronPython 其实不是一种变种的 Python,它就是 Python。它是基于 .NET 框架的 Python 语言的一个实现。所以,可以说它是纯正的 Python。

IronPython 现在已经跟上了 CPython(你可能比较熟悉的那个实现)2.6 的版本,所以在 Python 2.7 或 3.x 中的一些新特性和变化在 IronPython 中是没有的。此外,它的标准库也有点不同(不过你失去的部分会被 .NET 提供的功能所替代)。

IronPython 主要用于为用 C# 等语言编写的 .NET 应用程序编写脚本,但它也可以作为独立的工具使用。IronPython 还可以用来编写使用 SilverLight 框架的 web 应用程序。

如果你需要使用 .NET 的功能,就用 IronPython。如果你只是想制作一个 Windows 可执行文件,那就用 py2exe。

更新

如果你要写基本的关系数据库管理系统(RDBMS)应用,直接用 CPython(原版 Python)就好,它更灵活,速度也更快。然后,你可以使用一些工具让它在 Windows 电脑上独立运行。不过现在,先专心学习 Python(这些技能大部分可以转到 IronPython,如果你决定切换的话)和编写你的应用程序。

撰写回答