IronPython 互動式直譯器與常用函式

2021-08-26 16:07:11 字數 2699 閱讀 5240

ironpython:互動式直譯器與常用函式

2023年06月04日

四、互動式直譯器

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

>>>

>>> form = form(text="hello world")

>>> button = button(text="click me")

>>> form.controls.add(button)

>>>

>>> def

onclick(sender, event):

... print

'ouch!'

>>> button.click += onclick

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

...

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來指出到**去尋找程式集的。為了將乙個新目錄新增到搜尋路徑,只需將該路徑作為字串附加上去就行,具體如下所示:

python互動式直譯器

linux 下鍵入命令python 啟動python的互動式直譯器。如圖 互動式直譯器,顧名思義,互動的直譯器,你每鍵入一行然後回車,都會有所反應 這樣一想,臨時充當下計算器也是個不錯的選擇。當然也有一些侷限,例如 1 進行1 2這樣的運算後結果居然為0!這樣看來,python與c語言有點相似的,會...

Python互動式直譯器及用法

當輸入 python 命令時,可以看到如下輸出結果 互動式直譯器提示當前使用的是 python 3.6.2,後面的 就是互動式直譯器的提示符。接下來使用者可在該提示符後輸入如下命令 print hello world 按回車鍵後,互動式直譯器就會解釋執行這行 生成如下輸出結果 hello world...

Python學習(四)Python互動式直譯器

python 提供的 python 命令不僅能用於執行 python 程式,也可作為乙個互動式直譯器一一開發者逐行輸入 python 它逐行解釋執行 當我們輸入 python 命令時,可以看到如下輸出結果 c users administrator python python 3.6.2 v3.6....