`

IronPython的第三块鳞片(补充)

阅读更多

         在9月份的Mail List中还有一个message也是很有价值的。在Interactive的方式下,键入如下两行代码:

>>>from System.Console import *
>>>WriteLine("Hello,world!")

屏幕上并不会出现我们所期待的Hello,world! 倒是出现了一个True。如果将第二行改为WriteLine("{0}","Hello,World!"),我们就能够看到我们期待的Hello,world!了,这是怎么回事呢?
        因为IronPython在调用CLR中方法的时候,都是使用了反射的机制。当一个方法被重载(overload)了,也就是说有多个同名函数对应类型不同或者个数不同参数的时候,这些函数都会存放在一个list中。IronPython并没有去搜索最适合的方法,只是简单地检查了参数的个数是否匹配,那么结果就可想而知了:参数个数为1的WriteLine函数有很多,而WriteLine(bool)在整个list中排在了最前面,而且在Python的语法当中,string类型是可以隐式转换为bool类型的,因此WriteLine(bool)就被调用了。而对应参数个数为2的WriteLine方法就只有一个WriteLine(String,Object),那么在Interactive方式下WriteLine("{0}","Hello,World!")是可以被正确调用的。

分享到:
评论

相关推荐

    IronPython-2.7.5.zip

    9. **库支持**:IronPython能够导入和使用许多Python第三方库,尽管可能需要一些适配工作,特别是那些依赖于C扩展的库。 10. **工具集成**:IronPython可以很好地与Visual Studio等.NET开发工具集成,提供调试、...

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

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

    ironpython.zip

    IronPython的最新版本支持Python 3的语法特性,使开发者能够在.NET环境中享受到现代Python的便利。 在实际应用中,IronPython可以用于构建桌面应用程序、Web应用程序、游戏、科学计算等多种场景。例如,使用Iron...

    IronPython开发工具

    3. **项目管理**:帮助组织和管理IronPython项目,包括源代码、资源文件等。 4. **集成环境**:与.NET Framework紧密集成,能调用.NET库,同时也能被.NET应用程序调用。 5. **交互式窗口**:类似于Python的命令行...

    IronPython in Action

    3. IronPython与.NET集成:这部分将详细介绍IronPython如何与.NET Framework的类库进行交互,包括如何导入和使用.NET的类、接口和方法。还会涉及动态类型和类型转换的概念,以及如何通过IronPython调用.NET的...

    微软IronPython源码

    3. **动态类型系统**:Python的动态类型系统在IronPython中得以保留,这意味着变量的类型可以在运行时改变,提供了高度的灵活性。 4. **.NET互操作性**:IronPython通过CLS Compliance(公共语言规范)与.NET组件...

    IronPython 2.6源代码

    10. **社区与资源**:由于IronPython是开源项目,有活跃的社区提供支持,包括文档、示例代码和第三方库,这对于学习和解决问题非常有帮助。 深入研究IronPython 2.6的源代码,不仅可以了解Python语言的实现细节,还...

    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各个支持平台对应的DLL资源

    3. **支持平台化二次开发**:由于IronPython是.NET的一部分,因此它可以轻松地与.NET的其他组件和服务结合,用于构建平台化的应用框架。开发者可以使用Python来扩展.NET应用程序,或者构建新的模块化系统。 4. **...

    IronPython in Action 2012.pdf

    - 第一个 IronPython 程序 - 基本语法与数据类型 3. **.NET 对象与 IronPython 的交互** - .NET Framework 简介 - IronPython 如何操作 .NET 对象 - 面向对象编程在 IronPython 中的应用 4. **核心开发技术** ...

    IronPython.7z

    - **IronPython 3.4.0a1**:这是一个测试版,对应Python 3.4的第一个alpha版本。Python 3.x引入了许多重大改变,包括语法更新和向后不兼容的改进。这个版本的IronPython让开发者可以尝试Python 3的新特性,但可能...

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

    3. **示例**:这些示例可能会展示如何在C#项目中嵌入IronPython脚本,如何执行Python代码,以及如何在Python脚本中调用.NET组件。 4. **测试套件**:用于验证IronPython的正确性和性能的测试用例,可以帮助开发者...

    IronPython和C#交互

    标题中的"IronPython和C#交互"涉及到的是两种不同编程语言——IronPython(一种Python的实现,能够在.NET框架上运行)和C#之间的协同工作。 IronPython的优势在于它允许Python开发者利用.NET平台的强大功能,而C#是...

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

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

    Atom-ironpython-stubs,通用ironpython/.net库的自动完成存根.zip

    Atom-ironpython-stubs是一个专为IronPython和.NET框架开发者设计的工具,它提供了一套自动完成的存根(stubs)文件。这些存根文件主要用于增强开发环境的代码补全功能,帮助程序员在使用IronPython进行.NET库的交互...

    IronPython-2.7.5

    3. 数据科学:Python 在数据处理和分析方面拥有强大的库(如 NumPy、Pandas 和 Matplotlib),可以通过 IronPython 在 .NET 应用程序中使用这些库。 4. 游戏开发:游戏引擎通常基于 C#,而游戏逻辑部分可能更适合用 ...

    IronPython-2.7.7-win.zip

    3. **高性能**:由于运行在.NET平台上,IronPython利用了JIT(Just-In-Time)编译器,提高了代码执行效率,使得Python程序的运行速度得到显著提升。 4. **标准库支持**:IronPython包含了Python的标准库,尽管并非...

    Manning.IronPython.in.Action

    3. **IronPython安装与环境设置**:学习如何下载和安装IronPython,以及配置开发环境,例如使用IronPython Studio或Visual Studio插件进行代码编辑和调试。 4. **交互式编程**:IronPython支持交互式解释器,允许...

Global site tag (gtag.js) - Google Analytics