IronPython:交互式解释器与常用函数

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):
  ... print
  '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'):
  ... print
  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来指出到哪里去寻找程序集的。为了将一个新目录添加到搜索路径,只需将该路径作为字符串附加上去就行,具体如下所示:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值