`

IronPython的第四块鳞片

阅读更多
        尽管每天都会关注Jim的blog,关注IronPython的Mail List,但是这几天来都没有什么收获,不仅Jim的blog都快发霉了,Mail List这两三天竟然也没有新的Mail,让我好生失望。看来一切的东西都得靠自己去摸索了,原本想拿着IronPython的源代码研读一番,怎奈天生愚钝,《Code Reading》那本好书又没有带在身上,看代码如同在蜀道行走一般。看来从Python本身入手,并穿插与IronPython的比较或许更加切合我的实际水平了。
        今天先来说一点Python与其他语言不同的地方。Python也和Java一样,号称Everything is Object,但是两者在概念上却是有很大的不同。首先,Java所谓的Everythins is Object就是所有的代码都必须以类的形式出现,而Python则不是,Python可以定义单独定义function,但是每个function却是实实在在的Object。大家看以下的代码:    
>>>def HelloWorld():
     
""" Say "Hello,World"
         Say "Hello,World" again """

>>> print HelloWorld.__doc__         # 这样的调用方式不就是对一个对象中的属性进行访问吗?
        以上仅仅是定义了一个空的函数,但是函数体中包含了该函数的document。一个函数的document string必须出现在函数名称后面的第一行,也就是在函数名与document string之间不能有任何的代码;除此之外,必须使用三个"来定义作为document string的范围。实质上每一个function被定义之后,都会包含许多built-in的属性,__doc__就是其中的一个,以上的代码在解释执行的时候,就会将两个"""之间的字符串赋给__doc__属性。除了__doc__属性之外,一个function还有很多其他的built-in属性,我们可以通过dir(funtion name)来获得。
        以上代码在Python下是没有问题,但是IronPython却让我很是失望,它在Interactive的模式下只能够支持单行的document string,如果像以上的多行的方式,则会陷入一个死循环,直至抛出System. IndexOutOfRangeException: Index was outside the bounds of the array。但是如果将以上代码存为.py文件,通过IronPythonConsole *.py的方式来执行,则是没有问题的。看来IronPython的Interactive方式还存在着很多的bug。同时,通过dir(function name)也可以发现IronPython中的built-in属性并没有与Python完全兼容,缺少了很多属性,同时也增加很多新的属性:如'Call','Equals', 'GetHashCode', 'GetMethod', 'GetType', 'ToString'等。
        今天就先到这里了,大家会不会觉得有点无趣呢?看来我得检讨一下,然后再来点能吸引眼球的了。
        Any proposal is welcome.Thanks!
分享到:
评论

相关推荐

    IronPython.2.7.8

    4. **netcoreapp2.0**: 这表明IronPython支持.NET Core 2.0框架。.NET Core是跨平台的开源框架,用于构建现代云应用。这意味着IronPython可以在Windows、Linux和macOS上运行。 5. **net45**和**net40**: 这两个目录...

    在.Net6中调用IronPython实现动态执行脚本

    在.NET 6中调用IronPython来实现动态执行脚本是一项强大的功能,它允许程序员在运行时编写和执行Python代码,极大地增强了应用的灵活性。IronPython是一个开源的Python实现,它能够无缝集成到.NET环境中,使得.NET...

    ironpython.zip

    IronPython是一种基于.NET和Mono平台的Python实现,它是由Jim Hugunin开发的,而他也是Jython的创始人。这个项目的主要目标是提供一个与标准CPython解释器兼容的Python环境,同时利用.NET框架的强大功能。IronPython...

    IronPython开发工具

    IronPython是一种基于.NET框架的Python实现,它允许开发者在.NET平台上使用Python语法编写代码,并能够无缝集成.NET生态系统中的各种资源。IronPython与传统的CPython(标准Python解释器)相比,最大的优势在于它...

    IronPython in Action

    《IronPython in Action》是一本深入探讨IronPython的权威书籍,专为那些希望利用Python的强大功能与.NET Framework的丰富库进行交互的开发者而设计。这本书不仅涵盖了Python的基础知识,更着重于讲解如何在.NET环境...

    IronPython in Action 无水印pdf版

    IronPython in Action 无水印pdf版。 IronPython in Action 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络 IronPython Action

    IronPython-2.7.7.msi 金蝶云 调试python脚本环境搭建。

    标题中的"IronPython-2.7.7.msi"指的是IronPython的一个版本,这是一个开源的Python实现,可以在.NET Framework上运行。它允许开发者使用Python语言编写应用程序,同时利用.NET平台的强大功能。金蝶云,另一方面,是...

    IronPython 2.6源代码

    4. **元编程能力**:Python的元编程特性在IronPython中得到了保留,用户可以动态地创建和修改类、方法,这在.NET环境中是独一无二的。 5. **集成开发环境(IDE)支持**:由于IronPython是.NET的一部分,它能很好地...

    IronPython-2.7.11.rar

    4. **Python标准库支持**:尽管IronPython是为.NET构建的,但它仍然支持大部分Python标准库。这意味着Python开发者可以在.NET环境中使用他们熟悉的库和模块。 5. **动态编译**:IronPython代码可以被即时编译成中间...

    IronPython-2.7.7-win.zip

    4. **标准库支持**:IronPython包含了Python的标准库,尽管并非所有模块都完全兼容,但大部分常用模块都能正常工作。 5. **IDE支持**:由于是.NET的一部分,IronPython可以很好地与Visual Studio等.NET IDE集成,...

    IronPython各个支持平台对应的DLL资源

    IronPython是一种开源的Python实现,它能够无缝地与.NET Framework集成,允许开发者使用Python语言编写.NET应用程序。在.NET环境中,IronPython提供了与C#、VB.NET等其他.NET语言的互操作性,使得Python开发者可以...

    IronPython.7z

    4. **安装文件(.msi)**:IronPython-3.4.0a1.msi和IronPython-2.7.11.msi是Windows Installer包,用于在Windows系统上安装对应的IronPython版本。这些MSI文件包含了所有必要的依赖和配置信息,用户只需双击即可...

    C# IronPython 脚本引擎源码 + 例子

    4. **测试套件**:用于验证IronPython的正确性和性能的测试用例,可以帮助开发者理解IronPython的功能边界和潜在问题。 5. **构建脚本**:如果包含的话,这可能是用于编译和打包IronPython的脚本,对于想要自定义或...

    IronPython2.0最新版本以及IDE等源码

    【IronPython2.0最新版本】是Python编程语言的一个实现,它允许开发者在.NET Framework上运行Python代码。这个实现由Microsoft开发,旨在提供一个与标准CPython解释器兼容的环境,同时利用.NET平台的高性能和丰富的...

    Manning.IronPython.in.Action

    IronPython保留了Python的简洁和易读性,但运行于.NET之上,因此学习Python的基本概念是开始IronPython之旅的第一步。 2. **.NET Framework**:IronPython能够无缝集成到.NET Framework中,这意味着你可以访问.NET...

    [IronPython] IronPython 高级程序设计 (英文版)

    [Apress] IronPython 高级程序设计 (英文版) [Apress] Pro IronPython (E-Book) ☆ 出版信息:☆ [作者信息] Alan Harris [出版机构] Apress [出版日期] 2009年06月22日 [图书页数] 312页 [图书语言] 英语 ...

    IronPython IDE

    IronPython IDE是一款基于C#语言开发的集成开发环境(IDE),专为IronPython编程语言提供支持。IronPython是Python的一种实现,它运行在.NET Framework或Mono框架之上,能够充分利用.NET平台的强大功能。这款IDE旨在...

    VS2010调用IronPython脚本的示例代码

    在本文中,我们将深入探讨如何在Visual Studio 2010 (VS2010) 中使用C# 4.0来调用IronPython脚本,这是一个强大的动态语言运行时,能够让我们在.NET环境中执行Python代码。IronPython使得C#开发者能够轻松地利用...

    环境“IronPython|2.7-32”似乎未正确配置或缺失

    标题中的"IronPython|2.7-32"指的是IronPython的一个特定版本,它是一个开源实现的Python解释器,能够运行在.NET Framework和.NET Core上。IronPython 2.7-32是针对32位操作系统的版本。描述中提到的问题是关于...

Global site tag (gtag.js) - Google Analytics