最近忙得焦头烂额,都把IronPython晾在了一边,真的好愧疚。一眨眼的功夫,IronPython的version竟然来了个三级跳:11月初的时候,偶还在向大家报道0.9.4发布的消息,而早在半个月前(12月9日),0.9.6就已经发布了。进展真的神速啊!从0.9.6的release memo可以了解到:0.9.7可能是不会出现的了,因为会直接发布1.0版本!看来,盼望已久的IronPython1.0离发布真的为期不远了。
说完IronPython开发的进展,也该言归正传了。今天我们主要对MSDN TV上的一个视频节目——IronPython: Python on the .NET Framework做一些讨论。这个视频早在11月10日就发布出来了(不得不再次BS一下自己的懒惰),而做秀者正是大名鼎鼎的IronPython之父——Jim Hugunin(终于可以一睹偶像的尊容啦!)。在这个视频中,Jim首先向大家十分简要地介绍了IronPython以及创造IronPython的一些背景,而这只花了不到三分钟。然后他花了十多分钟对IronPython中很多有趣的功能进行了Demo,内容十分翔实,强烈建议大家下载观看,相信大家在看过这个Demo之后,会对IronPython有一个全新的认识。由于Jim在里面讲的是英文,语速也较快,也许听懂还真的挺费劲。不过不用担心,MSDN网站上提供了整个视频对应的文本,这下子绝无遗漏了。^_^
在整个视频当中,Jim所做的Demo有很多,涵盖的面也比较广。我对这些Demo进行了分类,讲述一下自己在跟着做Demo的过程中的一些体会以及需要注意的问题:
Demo 0.0 准备工作:虽然Jim没有说明要做完这些Demo得准备些什么,但是为了方便大家,我把必需的东东列示如下:
IronPython:0.9.2以上版本,推荐最新的0.9.6;
CPython: 推荐2.4.2版本
WinFX Runtime Components:推荐使用最新的CTP版本;
Visual Stuido 2005:推荐使用Express C#版本或者Professional版本;
Windows SDK:使用最新的CTP版本;
WinFX Development Tools For VS 2005: 推荐使用最新的Code Name为Orcas的Community Technology Preview Edition,要注意的是安装这个Tools之前必须安装Windows SDK。
Demo 0.1 启动IronPython:如果你手上的是0.9.6版本的IronPython,那么我建议你到Tutorial的目录下通过执行ip.bat启动IronPython,这是为了方便导入一些必需的IronPython module。启动以后,进入IronPython的Interactive Mode,就是交互模式。
Demo 1 奇特的计算器:这个Demo很简单,在Interactive Mode下,输入简单的表达式,按回车就马上得到表达式的结果,充分体现了IronPython作为一种Script语言的交互性和高效性;
Demo 2 利用CPython库:在这个Demo中,IronPython调用了CPython已有的类库:this和random。这是一个让我很惊讶的地方,因为之前我并不知道IronPython可以直接使用CPython提供的类库,还认为需要很大的人力物力移植CPython的类库呢。这个Demo虽然也是很简单,但是意义却十分重大,有了对CPython Module的充分支持,Python的开发者不是可以平滑过渡到IronPython了吗?代码分析如下:
Demo 3 利用.NET类库:既然IronPython是Python在.NET平台上的实现,那么IronPython能够使用.NET是很自然的事情,当然也是它的优势之一。在这个Demo中,要特别注意导入Namespace、Class和Method的方法。代码分析如下:
Demo 4 类的特性:这个Demo展示了IronPython中有关类继承的特性,最有意思的则是你可以随时增加某一个类实例的数据成员和方法。代码解析如下:
Demo 5 使用WinFX:IronPython的开发从来都紧跟.NET Framework的升级,更重要的它也十分重视IronPython在未来开发平台上的应用。因此,从Demo5往后的Demo都跟WinFX是相关的。由于这个Demo涉及的内容比较多,具体内容将在下一篇Post中进行详细讲述。
Demo 6 与C#之间的互协作:大家都知道.NET是一个跨语言的协作平台,然而到现在为止,大部分所谓的跨语言协作只是在IL层面上的协作,那么源代码级别呢?或许大家想到了以前在C中随手捻来一段汇编的日子,其实你会发现在IronPython的世界里,你可以随手捻来一段C#代码,反之亦然。这是不是很Cool呢?详细的介绍请关注本系列最后的Post;
Demo 7 调试IronPython程序:大约一个季度前,我在叫嚣着得为IronPython做个IDE什么的。是的,利用IronPython进行开发很高效,但是一旦程序规模变大,没有好的开发环境还真的不行,至少调试就令人头痛不已。而这个Demo向大家介绍了调试IronPython的技巧,详细介绍也请关注本系列最后的Post。
Demo 8 调用COM组件:IronPython在与COM组件的协作上表现得异常优越,由于IronPython并不需要为变量声明类型,这给调用COM组建提供了不少便利。在这个Demo感中,通过IronPython的代码调用MS Agent COM组件,会有一个可爱的卡通人物在屏幕上飞来飞去,还会做很多很Q的动作,非常好玩。具体内容请看本系列最后的Post。在这里要感谢CcBoy的提醒,因为一开始我把这个Demo给遗忘了。
PS:要写的内容太多了,只好分为三个部分完成,否则我发得累,大家看得也累。现在就先为后面的Post打打广告了,谢谢捧场,嘻嘻~~~
分享到:
相关推荐
如ASP.NET MVC、.NET Dynamic Language Runtime (DLR)、IronRuby、IronPython、Silverlight Toolkit、Ajax Control Toolkit、Managed Extensibility Framework (MEF),这些项目不仅推动了.NET生态系统的发展,也为...
- **动态类型**:C# 4.0引入了`dynamic`关键字,允许在运行时进行类型绑定,极大地简化了与非.NET库如JavaScript或IronPython的交互。 - **多目标参数**:C# 4.0支持可选参数和命名参数,使函数调用更加灵活,减少...
技术运维-机房巡检表及巡检说明
第四次算法分析与设计整理
图像处理项目实战
该资源为jaxlib-0.4.18-cp311-cp311-macosx_11_0_arm64.whl,欢迎下载使用哦!
搭建说明. 运行环境 php5.6 mysql5.6 扩展sg11 前置条件: 前后端分离,需要准备两个域名,一个后台域名,一个前端域名 后端源码修改(cs2.ijiuwu.com批量替换改为你的后端域名)数据库修改(cs3.ijiuwu.com批量替换为你的前端域名)1、创建后台站点,上传后台源码并解压到根目录2、创建前端站点,上传前端源码并解压到根目录 3、创建数据库上传并导入数据库文件 4、修改数据库信息: 后台:app/database.php 前端:application/database.php 前端站点设置 伪静态thinkphp 运行目录public 关闭防跨站 访问后台域名/admin.php进入后台管理 admin 123456 系统-》系统设置-》附件设置-》Web服务器URL 改为你的前端域名 系统-》清前台缓存 改为你的前端域名 点击刷新缓存
【毕业答辩】爆款黑板风教育文艺毕业论文答辩通用模板.pptx
1、文件内容:systemd-devel-219-78.el7_9.9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/systemd-devel-219-78.el7_9.9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
win32汇编环境,对 WM-MOUSEMOVE 消息的理解
车牌识别项目
UE项目开发过程中的一些快捷脚本
lab1的words.txt文件
python、yolo、pytorch
人工智能、大语言模型相关学习资料
图像处理项目实战
python、yolo、pytorch
车牌识别项目
该资源为jaxlib-0.4.18-cp312-cp312-macosx_10_14_x86_64.whl,欢迎下载使用哦!
python、yolo、pytorch