自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開始IronPython之旅:交互式解釋器與常用函數(shù)

譯文
開發(fā) 后端
IronPython是Python與.NET平臺的有機(jī)結(jié)合。本文對IronPython的環(huán)境搭建與配置進(jìn)行了介紹,通過閱讀本文,您便可以開始您的IronPython之旅了。

【51CTO精選譯文】鑒于Python的強(qiáng)大以及.NET平臺的良好發(fā)展勢頭,IronPython成為Python開發(fā)的一個十分值得關(guān)注的事物。上一篇文章中我們對IronPython進(jìn)行了一番簡單的介紹,接下來,我們將初步學(xué)習(xí)如何使用IronPython。一開始先簡單介紹一下IronPython開發(fā)環(huán)境的搭建,然后會粗略的涉及一些基本語法——與Python一樣的語法。

四、交互式解釋器

學(xué)習(xí)IronPython最簡單的方法就是使用它,我們建議您下載安裝IronPython 2.6。下載的安裝程序包含了二進(jìn)制文件、Python標(biāo)準(zhǔn)程序庫、用于Silverlight的IronPython和一個教程。此外,還有一個成為Pyc.py的工具,該工具可以把IronPython應(yīng)用程序編譯成二進(jìn)制文件。

交互式解釋器 

Ipy.exe可以用來執(zhí)行IronPython程序,對于熟悉Python語言及探索.NET程序集來說非常有用。在本文中,交互會話使用>>> 來表示。

  1. >>> from System import Array  
  2. >>> help(Array.CreateInstance)  
  3. Help on built-in function CreateInstance:  
  4.  
  5. CreateInstance(...)  
  6.     Array CreateInstance(Type elementType, Array[int] lengths)  

五、與.NET的集成

IronPython本身是用C# 寫成的。IronPython使用原生的.NET類型,例如IronPython中的字符串類型即.NET字符串類型,整數(shù)類型即Int32,等等。通過使用Python的導(dǎo)入手段,我們就能夠訪問.NET程序庫和類。

在使用.NET framework時,通常要導(dǎo)入clr模塊,該模塊含有用來為程序集添加索引之類的函數(shù)。一旦為程序集添加了引用,我們就能夠從該程序集的命名空間中導(dǎo)入類。下面以Windows Forms為例進(jìn)行說明:

  1. >>> import clr  
  2. >>> clr.AddReference('System.Windows.Forms')  
  3. >>> from System.Windows.Forms import Application, Button, Form  
  4. >>>  
  5. >>> form = Form(Text="Hello World")  
  6. >>> button = Button(Text="Click Me")  
  7. >>> form.Controls.Add(button)  
  8. >>>  
  9. >>> def onClick(sender, event):  
  10. ...     print 'Ouch!' 
  11. >>> button.Click += onClick  
  12. >>> Application.Run(form)  
  13. Ouch!  
  14. Ouch!  
  15.  

[[6427]] 

下面我們對上述代碼中有關(guān)的Python語法做相應(yīng)的介紹。

1. 這里通過Form和Button構(gòu)造函數(shù)的關(guān)鍵字參數(shù)來設(shè)置有關(guān)屬性。

2. 事件處理函數(shù)(onClick)是一個標(biāo)準(zhǔn)的Python函數(shù),IronPython會在幕后調(diào)用按鈕單擊處理程序(EventHandler)。

注意,在Python中,語句結(jié)構(gòu)是用縮排表示的,而不是花括號。onClick函數(shù)體相對于其聲明來說,要做縮進(jìn)處理。

六、Dir函數(shù)與help函數(shù)

在通過交互式解釋器進(jìn)行學(xué)習(xí)的時候,有兩個函數(shù)非常有用,它們分別是dir與help函數(shù)。Dir(some_object)常用來返回一個對象的所有成員,它們會作為字符串列表返回,而在Python中,我們可以根據(jù)需要對列表進(jìn)行過濾或分割處理。例如,這里我們將顯示系統(tǒng)命名空間中所有以字母“I”開頭的成員:

  1. >>> import System  
  2. >>> for member in dir(System):  
  3. ...     if member.startswith('I'):  
  4. ...         print member  
  5. ...  
  6. IAppDomainSetup  
  7. IAsyncResult  
  8. ICloneable  
  9. IComparable  
  10. IConvertible  
  11. ICustomFormatter  
  12. IDisposable  
  13. IEquatable  
  14. IFormatProvider  
  15. IFormattable  
  16. (and so on...)  
  17. >>>  
  18.  

Help(some_object)函數(shù)能夠?yàn)槲覀兲峁┮粋€對象更為詳細(xì)的信息。提供help函數(shù),我們可以打印出對象的所有方法,并針對個別方法再次調(diào)用該函數(shù)以獲取進(jìn)一步的信息:

dir函數(shù)與help函數(shù) 

  1. >>> from collections import namedtuple  
  2. >>> help(namedtuple)  
  3. Help on function namedtuple in module collections:  
  4.  
  5. namedtuple(typename, field_names, verbose=False)  
  6.     Returns a new subclass of tuple with named fields.  
  7.  
  8.     >>> Point = namedtuple('Point''x y')  
  9.     >>> Point.__doc__                   # docstring for the new class  
  10.     'Point(x, y)' 
  11.     >>> p = Point(11, y=22)             # instantiate with positional args or keywords  
  12.     >>> p[0] + p[1]                     # indexable like a plain tuple  
  13.     33 
  14.     >>> x, y = p                        # unpack like a regular tuple 

Collections模塊是Python標(biāo)準(zhǔn)程序庫的一部分,namedtuple是一個類制造廠,我們可以使用它新建其行為類似枚舉類型(Python沒有內(nèi)建的枚舉類型)的類:

  1. >>> from collections import namedtuple  
  2. >>> Point = namedtuple('Point''x y')  
  3. >>> point = Point(13)  
  4. >>> point  
  5. Point(x=1, y=3)  
  6. >>> point.x  
  7. 1 
  8. >>> point.y  
  9. 3 
  10.  

在運(yùn)行時新建類是動態(tài)語言的優(yōu)點(diǎn)之一。

七、設(shè)置sys.path

使用交互式解釋器時,一個重要因素是當(dāng)我們執(zhí)行導(dǎo)入語句或者為程序集添加引用時,Python需要到哪里去查找。默認(rèn)時,所有標(biāo)準(zhǔn).NET框架都可以被引用。另外IronPython安裝程序也包含有Python標(biāo)準(zhǔn)程序庫。對于別的東西,我們需要告訴IronPython到哪里查找python模塊和程序集。

Python用于查找python模塊時,需要用到稱為sys.path的系統(tǒng)模塊中的一個Python列表。對于IronPython來說,當(dāng)我們?yōu)槌绦蚣砑右玫臅r候,IronPython也是通過sys.path來指出到哪里去尋找程序集的。為了將一個新目錄添加到搜索路徑,只需將該路徑作為字符串附加上去就行,具體如下所示:

  1. >>> import sys  
  2. >>> path = 'c:\\Projects\\MyProject' 
  3. >>> sys.path.append(path)  
  4. >>> import clr  
  5. >>> clr.AddReference('MyAssembly'

由于字符串中的反斜杠被用作轉(zhuǎn)義字符使用,因此我們必須在路徑中使用雙反斜杠。

到這里,對于IronPython所需要了解的基礎(chǔ)知識也介紹的差不多了。如果你對于在.NET平臺上運(yùn)行Python感興趣,那么就來試試看IronPython吧!

【編輯推薦】

  1. IronPython入門:什么是IronPython?
  2. Visual Studio 2010已配備IronPython預(yù)覽版
  3. IronPython和C#執(zhí)行速度對比
  4. 淺析.NET 4.0和Visual Studio 2010多定向支持
  5. 圖解VS 2010與.NET 4.0多顯示器支持
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2013-09-22 16:22:21

2010-02-24 09:39:25

Python交互式

2015-10-14 17:59:53

Google數(shù)據(jù)探索交互開發(fā)

2011-06-13 18:54:12

2023-10-16 16:14:32

數(shù)據(jù)中心

2024-07-25 08:58:16

GradioPython數(shù)據(jù)應(yīng)用

2022-02-22 10:59:24

Kile編輯器Linux

2011-04-28 13:09:46

交互式智能白板投影機(jī)

2018-05-21 14:44:33

LinuxshellPython

2020-04-06 20:47:42

FishShellLinux

2010-12-09 21:46:26

Scapy

2023-07-28 14:13:15

Streamlit開源Python庫

2020-12-18 08:00:00

Python開發(fā)Web

2021-10-18 13:31:28

Web應(yīng)用交互式

2011-12-27 20:12:56

平板

2018-05-08 08:35:34

LinuxDocker 容器管理器

2025-04-29 09:26:34

Orange交互式數(shù)據(jù)挖掘機(jī)器學(xué)習(xí)

2011-11-14 13:25:57

惠普復(fù)合一體機(jī)

2021-06-29 10:23:19

卡巴斯基交互防護(hù)VR

2016-11-29 12:25:56

Python大數(shù)據(jù)數(shù)據(jù)可視化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號