IronPython:交互式解释器与常用函数
2010年06月04日
传闻中的begtostudy希望您继续将他传闻下去!这里留下了begtostudy成长的印记!如果是技术上的问题,最好能够在这里评论或者留言,因为这样其他人也能看到和探讨。 严正声明:本blog原创文章转载请标明出处或作者begtostudy!!! QQ:370566617. Email/MSN:begtostudy@gmail.com
鉴于Python的强大以及.NET平台的良好发展势头,IronPython成为Python开发的一个十分值得关注的事物。 上一篇文章中我们对 IronPython进行了一番简单的介绍,接下来,我们将初步学习如何使用IronPython。一开始先简单介绍一下IronPython开发环境的搭建,然后会粗略的涉及一些基本语法--与Python一样的语法。
四、交互式解释器
学习IronPython最简单的方法就是使用它,我们建议您下载安装IronPython 2.6。下载的安装程序包含了二进制文件、Python标准程序库、用于Silverlight的IronPython和一个教程。此外,还有一个成为 Pyc.py的工具,该工具可以把IronPython应用程序编译成二进制文件。
Ipy.exe可以用来执行IronPython程序,对于熟悉Python语言及探索.NET程序集来说非常有用。在本文中,交互会话使用>>> 来表示。 五、与.NET的集成
IronPython本身是用C# 写成的。IronPython使用原生的.NET类型,例如IronPython中的字符串类型即.NET字符串类型,整数类型即Int32,等等。通过使用Python的导入手段,我们就能够访问.NET程序库和类。
在使用.NET framework时,通常要导入clr模块,该模块含有用来为程序集添加索引之类的函数。一旦为程序集添加了引用,我们就能够从该程序集的命名空间中导入类。下面以Windows Forms为例进行说明: >>> import
clr
>>> clr.AddReference('System.Windows.Forms')
>>> from
System.Windows.Forms import
Application, Button, Form
>>>
>>> form = Form(Text="Hello World")
>>> button = Button(Text="Click Me")
>>> form.Controls.Add(button)
>>>
>>> def
onClick(sender, event):
'Ouch!'
>>> button.Click += onClick
>>> Application.Run(form)
Ouch!
Ouch!
下面我们对上述代码中有关的Python语法做相应的介绍。
1. 这里通过Form和Button构造函数的关键字参数来设置有关属性。
2. 事件处理函数(onClick)是一个标准的Python函数,IronPython会在幕后调用按钮单击处理程序(EventHandler)。
注意,在Python中,语句结构是用缩排表示的,而不是花括号。onClick函数体相对于其声明来说,要做缩进处理。
六、Dir函数与help函数
在通过交互式解释器进行学习的时候,有两个函数非常有用,它们分别是dir与help函数。Dir(some_object)常用来返回一个对象的所有成员,它们会作为字符串列表返回,而在Python中,我们可以根据需要对列表进行过滤或分割处理。例如,这里我们将显示系统命名空间中所有以字母 "I"开头的成员: >>> import
System
>>> for
member in
dir(System):
... if
member.startswith('I'):
member
...
IAppDomainSetup
IAsyncResult
ICloneable
IComparable
IConvertible
ICustomFormatter
IDisposable
IEquatable
IFormatProvider
IFormattable
(and
so on...)
>>>
Help(some_object)函数能够为我们提供一个对象更为详细的信息。提供help函数,我们可以打印出对象的所有方法,并针对个别方法再次调用该函数以获取进一步的信息:
>>> from
collections import
namedtuple
>>> help(namedtuple)
Help on function namedtuple in
module collections:
namedtuple(typename, field_names, verbose=False)
Returns a new subclass of tuple with named fields.
>>> Point = namedtuple('Point', 'x y')
>>> Point.__doc__ # docstring for the new class
'Point(x, y)'
>>> p = Point(11, y=22) # instantiate with positional args or keywords
>>> p[0] + p[1] # indexable like a plain tuple
33
>>> x, y = p # unpack like a regular tuple
在运行时新建类是动态语言的优点之一。
七、设置sys.path
使用交互式解释器时,一个重要因素是当我们执行导入语句或者为程序集添加引用时,Python需要到哪里去查找。默认时,所有标准.NET框架都可以被引用。另外IronPython安装程序也包含有Python标准程序库。对于别的东西,我们需要告诉IronPython到哪里查找python模块和程序集。
Python用于查找python模块时,需要用到称为sys.path的系统模块中的一个Python列表。对于IronPython来说,当我们为程序集添加引用的时候,IronPython也是通过sys.path来指出到哪里去寻找程序集的。为了将一个新目录添加到搜索路径,只需将该路径作为字符串附加上去就行,具体如下所示:
发表评论
-
使用 CMake 进行跨平台软件开发
2012-01-20 09:42 1009使用 CMake 进行跨平台软 ... -
Boost在VS2008下的正确编译
2012-01-20 09:42 1072Boost在VS2008下的正确编译 2010年11月28日 ... -
Win32平台下编译SVN源码全过程
2012-01-20 09:42 1175Win32平台下编译SVN源码 ... -
《Qt for Symbian》翻译系列之六:第一章 简介与写作初衷
2012-01-20 09:42 870《Qt for Symbian》翻译系列之六:第一章 简介与写 ... -
激励口号
2012-01-19 14:47 659激励口号 2011年02月16日 ... -
团队精神训练团队口号精神口号团队心声营销口号知道口碑营销
2012-01-19 14:47 1350团队精神训练团队口号 ... -
团队口号_激励口号_口号大全分享到:
2012-01-19 14:47 1179团队口号_激励口号_口 ... -
团队口号|营销团队励志口号大全
2012-01-19 14:46 2836团队口号|营销团队励志口号大全 2011年09月09日 ... -
销售口号
2012-01-19 14:46 843销售口号 2010年11月12日 团队精神训练团队口号精 ... -
VB中实现系统托盘图标实例
2012-01-17 04:31 617VB中实现系统托盘图标实例 2011年04月19日 新建 ... -
SubClassWindow,SubClassDlgItem
2012-01-17 04:31 666SubClassWindow,SubClassDlgItem ... -
使用Setwindowlong和Callwindowproc这两个Api函数[转的]
2012-01-17 04:31 1962使用Setwindowlong和Callwindo ... -
钩子程序解释说明都要注意小心钩子哦
2012-01-17 04:31 747钩子程序解释说明都要 ... -
windows消息机制
2012-01-17 04:31 607windows消息机制 2011年04月21日 一 W ... -
(转载)温州人生意经
2012-01-16 03:21 537(转载)温州人生意经 2010年05月03日 温州人生意 ... -
温州人生意经
2012-01-16 03:21 580温州人生意经 2010年07月04日 “有市场的地方就有 ...
相关推荐
IronPython和C#交互的几种方式
IronPython:WinForms快速介绍
Professional IronPython: Show how to build applications that every developer must know when to start a new language Explains how to create Windows Forms applications, interact with COM objects, and ...
python常用函数超详细总结pdf文档,常用的函数使用说明、高阶函数使用说明
这些功能包括语法突出显示,预期的参数bpython:与Python交互式解释器的漂亮的curses接口bpython是一种轻量级的Python解释器,它增加了IDE的一些常用功能。 这些功能包括语法突出显示,预期参数列表,自动缩进和自动...
bokeh:用 Python 进行交互式 web 绘图 ,您可以快速、轻松地创建交互式平面图,仪表盘和数据的应用程序。
IronPython.2.7.8,用于visual studio2013关联abaqus。
IronPython开发工具
python:自定义函数实现加法
Toyplot一个Python的交互式绘图库
微软IronPython源码
bpython:一个指向Python交互式解释器的curses接口是一个轻量级的Python解释器,它添加了IDE共有的几个功能。 这些功能包括语法突出显示,预期参数列表,自动缩进和自动完成。 (请参阅下面的示例用法)。 bpython并...
大名鼎鼎的IronPython,可以让 VS2010轻松调用 Python 脚本,需要 .net framework 4.0
今天小编就为大家分享一篇python获取交互式ssh shell的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
setuptools-py2.7.egg,IronPython安装python第三方库的必须工具
IronPython 是一种在 NET 和 Mono 上实现的 Python 语言,由 Jim Hugunin(同时也是 Jython 创造者)所创造。1.0 版于2006年9月5日发布。随后,在 2007 年,开发者决定改写构架,使用动态类型系统以让更多脚本语言能...
IronPython 是一种在 NET 和 Mono 上实现的 Python 语言,由 Jim Hugunin(同时也是 Jython 创造者)所创造。1.0 版于2006年9月5日发布。