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):
'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'):
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....