python 的模組設計

python 的模組設計

在應用程式開發的過程中,我們會將相關的函式或類別程式碼組合在同一支程式,這個我們稱之為模組,當這個模組需要被其它程式引用時,可以使用import 的指令來將模組引入,經常一個應用程式是必須要引用多個模組module才能完成應執行的任務。

對每一個python檔案而言,我們也可以將它視為一個模組,例如,我們在myMathFun.py檔案中設計一個可以計算階層加總的函式:

# myMathFun.py

def sumHierarchy(n):
    if n<2: return 1
    else: return n+sumHierarchy(n-1)



如果要在其它的程式中執行,就必須利用import 的語法或from xxx import xxx的語法將模組或模組中的函式引入:

# main.py
import myMathFun

def main():
    print '1+2+...5= %d'%myMathFun.sumHierarchy(5)

if __name__=='__main__':
    main()


當要引入特定物件類別或函式時:

# main.py
from myMathFun import sumHierarchy

def main():
    print '1+2+...5= %d'%sumHierarchy(5)

if __name__=='__main__':
    main()

執行結果為:

C:\Users\Administrator>python main.py
1+2+...5= 15


在上述例子中 __name__ 常數是每一個模組都有的內建常數,這個常數的值就是模組的名稱(也是檔案的名稱),當python直譯器在執行一個python檔案時,它會將此常數__name__的值改成__main__也就是切入程式執行的點,所以在此 if 判斷式中所執行的函式或程式就會在程式一開始執行時被載入運作。
      

沒有留言: