python模塊對應(yīng)python程序文件,每個python文件都是一個模塊。
模塊a.py導(dǎo)入模塊b.py后,在a.py可以使用使用b.py的全部變量。
1.1 python程序組成
python程序通常包括頂層主體文件、模塊文件、標準庫文件。
頂層主體文件通常是程序運行入口,會導(dǎo)入模塊文件,模塊文件導(dǎo)入標準庫文件。
如上圖,main.py為頂層主體文件,程序從此文件開始運行。
main文件導(dǎo)入mod1.py模塊文件,使用里面的模塊屬性。
mod1.py模塊文件導(dǎo)入mod2.py和標準庫模塊文件。
標準庫模塊文件為python自帶模塊文件。
1.2 python導(dǎo)入模塊
python導(dǎo)入模塊在程序運行時執(zhí)行。
python首次導(dǎo)入模塊,會執(zhí)行三個步驟:
步驟 | 步驟名稱 | 步驟描述 |
---|---|---|
1 | 搜索 | 通過模塊搜索路徑找到模塊文件 |
2 | 按需編譯 | 首次導(dǎo)入需要編譯,生成.pyc文件。若.pyc文件時間戳小于.py文件,則進行編譯。只有.pyc則直接加載,不進行編譯。 |
3 | 運行 | 從上到下執(zhí)行模塊代碼,創(chuàng)建模塊定義的對象。 |
python將導(dǎo)入的模塊存儲到sys.modules字典中,
每次導(dǎo)入模塊時檢查sys.modules是否存要導(dǎo)入的模塊,
若存在,則不再導(dǎo)入(跳過首次導(dǎo)入模塊的3個步驟),直接從內(nèi)存獲取模塊,
若不存在,則執(zhí)行首次導(dǎo)入模塊的3個步驟。
注:導(dǎo)入模塊后,模塊文件被更新,通過reload導(dǎo)入最新模塊文件。
1.3 python模塊搜索路徑
python通過模塊搜索路徑找到模塊文件進行導(dǎo)入。
按下面順序搜索模塊搜索路徑,這4個路徑組成sys.path:
順序 | 路徑 |
---|---|
1 | 程序主目錄 |
2 | PYTHONPATH目錄(若有),用于路徑拓展 |
3 | 標準庫目錄 |
4 | .pth文件(若有),用于路徑拓展 |
1.4 python模塊路徑sys.path
python的模塊搜索路徑保存在sys.path列表。
手動添加到sys.path列表的路徑,在程序結(jié)束后,將不會再生性。
1.5 python模塊避免重名
模塊搜索路徑存在重名模塊時,導(dǎo)入的模塊存在不確定性,所以pthon模塊應(yīng)該避免重名。
-
模塊
+關(guān)注
關(guān)注
7文章
2628瀏覽量
47212 -
編程語言
+關(guān)注
關(guān)注
10文章
1921瀏覽量
34502 -
python
+關(guān)注
關(guān)注
54文章
4758瀏覽量
84289
發(fā)布評論請先 登錄
相關(guān)推薦
評論