子產品:随着程式變的越來越大 為了便于維護 需要把它分為多個檔案 為此python允許把定義放入一個檔案 然後在其他腳本中将其作為子產品導入
建立子產品: 将相關的語句和定義放入與子產品同名的檔案中
#file:module.py
def numValue(a,b):
q = a/b
r = a-q*b
return (q,r);
要在其他的程式中使用該子產品 則可以使用import語句:
import module;
a,b = module.numValue(64,8);
print(a,b);
輸出結果:
8.0 0.0
import語句建立了一個新的命名空間 并在該命名空間中執行與.py檔案相關的所有語句 要在導入後通路命名空間的内容 隻要使用該子產品的名稱作為字首即可 如:module.numValue
如果要使用不同的名稱導入子產品 可以給import語句加上可選的as 限定符
import module as fun;
a,b = fun.numValue(18,2);
print(a,b);
9.0 0.0
要将具體的定義導入到目前命名空間中,還可以使用使用以下語句:
from module import numValue;
a,b = numValue(32,2);
print(a,b);
16.0 0.0
要把子產品的所有内容加載到目前的命名空間中還可以使用:
from module import *;
a,b = numValue(32,2);
與對象一樣 可使用dir() 函數列出子產品的内容
import module;
print(dir(module));
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'numValue']
如何擷取幫助?
我們已經接觸過__doc__擷取文檔中的文檔說明 互動式模式運作python時 可使用help()指令獲得有關内置子產品和python其他方面的資訊 單獨輸入help()将獲得一般資訊 而輸入help(‘moduleName') 則可獲得具體子產品的資訊 如果提供函數名稱 help()指令還可以傳回該函數的詳細資訊
總結:
1,python中子產品的概念 :将函數的定義儲存起來,然後在其他腳本中導入使用;
2,定義子產品: 儲存函數定義的檔案應該與子產品名一緻
3,導入子產品:使用import語句導入 如果想使用不同的名稱導入子產品 可使用as 限定符
如: import module as fun ;
如要省略調用子產品中函數時的字首 則可以使用 from module import fun 的形式 導入函數具體的定義