模塊
- 一個包含python代碼的.py文件。
- 模塊的使用
- import module
- import module_name
- import module_name as 別名
- from module_name import func_name, class_name
- from module_name import *
- if __name == 'main' 的使用
- 可以有效避免模塊代碼被導入的時候被動執行的問題
- 建議所有程序的入口都以此代碼為入口
模塊的搜索路徑和存儲
- 系統默認的模塊搜索路徑
- import sys
- sys.path 屬性可以獲取路徑列表
- 添加搜索路徑
- sys.path.append(dir)
- 模塊的加載順序
- 搜索內存中已經加載好的模塊
- 搜索python的內置模塊
- 搜索sys.path路徑
包
-
自定義包的結構
/---包 /---/---__init.py__ 包的標志文件 /---/---模塊1 /---/---模塊2 /---/---子包(子文件夾) /---/---/---__init.py__ 包的標志文件 /---/---/---子包模塊1 /---/---/---子包模塊1
-
包的使用
- import package_name
- 默認對__init__.py中的內容進行導入
- from package_name import *
- 導入__init__.py中的模塊,函數和類
- import package_name.module_name
- from package_name import module1, module2, ...
- import package_name
-
__init__.py中如果設置了__all__的值,那么則按照__all__指定的子包或者模塊進行導入
-
__all__ = ['module1', 'module2',..]
關於包和模塊的使用,根據import后面的內容。
- import的是package,使用時: package_name.module_name
- import的是module,使用時: module_name.func_name; module_name.class_name
- import的是package.module, 使用時: package_name.module_name.func_name
- import的是func, class,使用時:func_name; class_name