一膳算、包和模塊的定義
模塊:就是一個文件, 一個.py文件就是一個模塊
包:就是一個文件夾目錄贞岭,但是必須包含一個____init__.py文件
包和模塊的分類
標(biāo)準(zhǔn)的包和模塊 -> 系統(tǒng)安裝好
第三方包和模型 -> 別人開發(fā)的
自定義包和模型 -> 自己開發(fā)的
二谚咬、包和模塊的導(dǎo)入
-
導(dǎo)入的方式
1. import M (模塊名稱) 2. import M1,M2,M3 多個模塊 3. import M1 as xxx 別名模塊 4. from A.a.aa import B (as C) 模塊 5. from 模塊 import * (導(dǎo)入的是模塊內(nèi)__all__ = [里面的內(nèi)容字符串]) 6. from 包 import * (導(dǎo)入的是包內(nèi)__all__ = [模塊名稱字符串]) 如果沒有__all__,那么就是所有非_下劃線變量 7. from . import 模塊
2、 導(dǎo)入的底層原理
第一次導(dǎo)入 :
1.執(zhí)行被導(dǎo)入模塊所有的代碼徘钥;
2.創(chuàng)建一個模塊對象茴肥,并將模塊內(nèi)所有頂級變量以屬性的方式加載模塊對象上面
3.在import 的位置还最,引入import 后面的變量名稱到當(dāng)前的命名空間 (多次導(dǎo)入只是執(zhí)行這個步驟)
多次導(dǎo)入:
重復(fù)執(zhí)行步驟3
3墓阀、導(dǎo)入的檢索路徑
第一次導(dǎo)入:
1. 先從內(nèi)置模塊中找 - 沒有找到找第2
2.在從sys.path中找 sys.path 是一個數(shù)組
多次導(dǎo)入:
重已經(jīng)加載中的模塊去找 查看已經(jīng)加載模塊 sys.modules
4、導(dǎo)入的檢索路徑sys.path 包括哪些路徑
1. 當(dāng)前目錄 運行那個文件就是以那個文件為目錄拓轻, 特別注意子模塊參考的路徑也是這個
2. 環(huán)境變量PYTHONPATH指定的路徑列表
3. .pth文件中的文件路徑列表
4. python安裝路徑中的lib庫中搜索
5斯撮、 追加路徑到sys.path方式
1. 直接增加到sys.path 列表的后面
2. 修改PYTHON對應(yīng)的環(huán)境變量文件路徑
3. 增加一個.pth文件, 在文件增加文件路徑 (在安裝路徑或者site-packages路徑下面增加)
import sys
print(sys.path)
print(sys.modules)
6扶叉、 導(dǎo)入可選 :當(dāng)導(dǎo)入A 失敗的時候 導(dǎo)入B 導(dǎo)入可選 優(yōu)先導(dǎo)入A
# 當(dāng)導(dǎo)入A 失敗的時候 導(dǎo)入B 導(dǎo)入可選 優(yōu)先導(dǎo)入A
try:
import A as a
except ModuleNotFoundError:
import B as a
三勿锅、包和模塊的安裝
1帕膜、本地安裝 (包已經(jīng)下載在本地)
方式一:對帶有setup.py的文件安裝
步驟一:打開命令工具
步驟二: cd 到下載包的setup.py 目錄
步驟三: 根據(jù)不同的環(huán)境之下 python3 setup.py install
方式二: 對帶有.egg文件的包安裝
使用setuptools自帶腳本easy_install 命令: easy_install xxx包文件名稱
方式三: .whl文件的包的安裝
- easy_install 安裝
- pip 安裝
2、遠(yuǎn)程安裝 (包未下載)
python -m pip install xxxx
python3 -m pip install xxxx
或者
pip install xxxxx
pip3 install xxxxx
最后贈言
學(xué)無止境溢十,學(xué)習(xí)Python的伙伴可以多多交流垮刹。