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