簡明Python教程 --- 8.模組
前面介紹了使用函數來重用代碼塊。如果你定義了一堆函數,準備在其他程式中重用這些函數,那你要怎麼辦呢?
在Python中,你可以使用模組來實現這個需求。模組實際上就是一個包含了一大堆函數的檔案。這個檔案需要以.py為尾碼名,用來表明它是一個Python模組。
Python本身也定義了一些標準的模組。例如sys模組。
import sys;
print "sys.path = ", sys.path;
注意上面的import sys這條語句,它是聲明當前程式匯入了sys這個模組。如果程式中藥使用一個模組,你必須通過import語句聲明匯入一個模組。
另外,你所匯入的模組所在的檔案必須存在於sys.path所包含的路徑下。
編譯後的Python源檔案(.pyc檔案)
編譯後的Python源檔案可以提高匯入該檔案的速度。需要說明的是,這種編譯後的檔案是一種中間形式,和具體的平台沒有直接關係。
from..import語句
在前面看到了使用模組中的變數的例子:sys.path。如果想要直接使用path變數,但是不想再寫sys.首碼怎麼辦呢?
可以使用from sys import path語句來代替import sys語句。
from sys import path;
print "sys.path = ", path;
模組的__name__
每個模組都有一個名字。在程式中可以通過__name__屬性獲得模組的名字。
定義自己的模組
定義一個模組是一件非常簡單的事情,實際上你已經定義過自己的模組了。當你在一個XXX.py檔案中寫了一段合法的Python程式並儲存之後,你就已經定義了一個你自己的模組。
例如,建立一個檔案myModule.py,內容如下:
def func() :
print 'Hello';
那麼,你現在可以在另一處調用這個模組內的func()函數:
import myModule;
myModule.func();
從上面可以看到,一個模組的名字,其實就是那個模組所在檔案的名字(不包括.py尾碼)。
dir(moduleName)函數
你可以通過dir()函數來查看一個模組內部所定義的標識符列表。
例如,查看myModule.py這個模組內所定義的標識符列表:
import myModule;
dir(myModule);