1. package.module
- 一個模塊就是一個包含pytho代碼的文件, 後綴名成是.py就可以,模塊就是個python文件
- 使用模塊進行拆分程序,方便維護;增加複用率;當做命名空間使用,避免命名衝突
- 模塊的定義和普通文件無很大區別
- 導入
- 假如模塊名稱直接以數字開頭,需要藉助importlib幫助:a = importlib("123.say()")
- import module_name ///module_name.function_name ///module_name.class_name
- import 模塊 as 別名 用法和直接用類似
- 假如模塊名稱直接以數字開頭,需要藉助importlib幫助:a = importlib("123.say()")
- 有選擇的導入
- from module_name import func_name, class_name
- 此方法使用的時候可以直接使用導入的內容,不需要前綴
- from ... import *
- 此方法導入也會導入自動處理的語句:如print("hello")
- 使用 if _name_ == "_main_" 可以忽略不想要的輸入
2 . 模塊的搜索路徑和存儲
- sys.path (列表)屬性可以獲取路徑列表
- 添加搜索路徑: sys.path.append(dir)
-
模塊的加載順序
1.搜索內存中已經加載好的模塊
2.搜索python的內置模塊
3.搜索sys.path路徑
3 包
- 用於將模塊包含在一起的文件夾就是包
|---包
|---|--- init.py 包的標誌文件
|---|--- 模塊1
|---|--- 模塊2
|---|--- 子包(子文件夾)
|---|---|--- init.py 包的標誌文件
|---|---|--- 子包模塊1
|---|---|--- 子包模塊2
- 導入
- import package_name
- 直接導入一個包,默認使用_init_.py中的內容
- 直接導入一個包,默認使用_init_.py中的內容
- from ... import 導入
- from package import module1, module2, module3, .....
- 此種導入方法不執行__init__的內容
- import package_name