萬物皆物件,意思是 ironpython 函式有屬性, 並且這些屬性在執行時是可用的。在 ironpython(python) 中, 函式同其它東西一樣也是物件.
命令列中輸入ipy
例子2.3 訪問buildconnectionstring的函式的 doc string
>>> import first 1
>>> params =
>>> print first.buildconnectionstring(params) 2
server=shanyou.zhang;database=pubs;uid=sa;pwd=secret
>>> print first.buildconnectionstring.__doc__ 3
build a connection string from a dictionary of parameters.
returns string.
>>>
第一行將 first程式作為模組匯入。模組是指:可以互動使用的乙個**段, 或者來自乙個大規模的 ironpython 程式。 一旦匯入了乙個模組, 就可以引用它的任何公共的函式、類或屬性。模組可以通過這種方法來使用其它模組的功能。
當使用在被匯入模組中定義的函式時, 必須包含模組的名字。所以不能只使用 buildconnectionstring, 而應該使用 first.buildconnectionstring。 如果您用過 c# 的類, 對此應該不感到陌生。
訪問函式的 __doc__ 屬性不像您想象的那樣是通過函式呼叫。
在我們繼續之前, 我想簡要地提一下庫的搜尋路徑。當匯入乙個模組時, ironpython 在幾個地方進行搜尋。 明確的, 它會按所有定義在 sys.path 中的目錄進行搜尋。它只是乙個list (列表), 您可以容易地檢視它或通過標準的list方法來修改它。
例子2.4模組匯入的搜尋路徑
>>> import sys 1
>>> sys.path 2
[u'c:\\documents and settings\\administrator\\\u684c\u9762\\ironpython\\ironpyth
on-1.0\\tutorial', u'c:\\documents and settings\\administrator\\\u684c\u9762\\ir
onpython\\ironpython-1.0\\lib']
>>> sys 3
npython-1.0\tutorial') 4
>>>
1、匯入 sys 模組, 使得它的所有函式和屬性都有效。
2、sys.path 是乙個組成當前搜尋路徑的目錄列表。 (您的輸出結果可能有所不同, 這取決於您的作業系統,初始安裝的位置。)iron python 將搜尋這些目錄 (按順序) 來查詢乙個與您正試著匯入的模組名相匹配的 .py 檔案。
3、實際上, 我沒說實話。真實情況要比這更複雜, 因為不是所有的模組都儲存為 .py 檔案。有一些, 像 sys 模組, 是"內建模組", 它們實際上是置於 python 內部的。內建模組的行為如同一般的模組, 但是它們的 ironpython 源**是不可用的, 因為它們不是用 ironpython 寫的! ( sys 模組是用 c #寫的。)
4、在執行時, 通過向 sys.path 追加目錄名, 就可以在 ironpython 的搜尋路徑中增加新的目錄, 然後一旦您試著匯入模組, ironpython 也會在那個目錄中進行搜尋。這個作用在 ironpython 執行時一直生效。
ironpython 中一切都是物件, 並且幾乎一切都有屬性和方法。 所有的函式都有乙個內建的 __doc__ 屬性, 它會返回在函式源**中定義的 doc string 。 sys 模組是乙個物件, 它有乙個叫作 path 的屬性。等等。
我們仍然在迴避問題的實質, 究竟何謂物件? 不同的程式語言以不同的方式定義 「物件」 。某些語言中, 它意味著
所有 物件
必須 有屬性和方法;另一些語言中, 它意味著所有的物件都可以子類化。在 ironpython 中, 定義是鬆散的;某些物件既沒有屬性也沒有方法 , 而且不是所有的物件都可以子類化 。但是萬物皆物件從感性上可以解釋為:一切都可以賦值給變數或作為引數傳遞給函式
這一點太重要了, 在ironpython 中
萬物皆物件 。字串是物件。列表是物件。函式是物件。甚至模組也是物件, 這一點我們很快會看到。
第乙個視窗程式
程式截圖 程式 include lresult callback wndproc hwnd,uint,wparam,lparam int winapi winmain hinstance hinstance,hinstance hprevinstance,pstr szcmdline,int icm...
第乙個popcap 程式
一 tips ddimage mmapimg ddimage 上f12,定位到ddimage.h,在vs2008 中ddimage.h tab標籤上alt o 定位到ddimage.cpp 二 vs2008 中c c code generation runtime library 設成multi t...
第乙個python 程式
有人在論壇 上問 將日誌格式化的方法,剛好學python,就拿這個練手了 09 55 54 error1 tmp error log.3 50 times mon jun 28 00 00 53 2009 09 55 54 error1 tmp error log.3 50 times 09 56 ...