什么是包试幽?什么是模塊?
模塊:python中每個(gè)python文件都是一個(gè)獨(dú)立的模塊霍狰,是較少的抡草,獨(dú)立的,功能近似的多個(gè)變量蔗坯,函數(shù)康震,類型的集合。
包:包含多個(gè)模塊的文件夾宾濒,包含一個(gè)特殊的init.py的聲明文件腿短,包含多個(gè)模塊,具備強(qiáng)大功能的文件绘梦。
模塊就像一個(gè)單獨(dú)的工具橘忱,而包則就是一個(gè)工具箱
包的聲明定義,模塊的聲明定義
包的聲明定義:創(chuàng)建一個(gè)文件夾卸奉,在該文件夾中钝诚,創(chuàng)建一個(gè)空文件init.py,此時(shí)榄棵,這個(gè)文件夾就是程序包凝颇,可以在該文件夾中定義各種模塊。
模塊的聲明定義:創(chuàng)建一個(gè)文件夾疹鳄,在該文件夾中創(chuàng)建文件xxxx.py拧略,這就是一個(gè)工具模塊
包和模塊的使用
為什么要有包和模塊
為了更好的組織管理代碼, python中出現(xiàn)了包和模塊的概念瘪弓,通過(guò)有效的整理代碼垫蛆,提高代碼的復(fù)用性能
導(dǎo)入操作:import操作詳解!
1腺怯、import 語(yǔ)法
引入一個(gè)模塊
import 模塊名稱
使用模塊中的數(shù)據(jù)
模塊名稱:變量名稱
模塊名稱:函數(shù)名稱
模塊名稱:類型名稱
引入一個(gè)包
import 包名稱
使用包中的數(shù)據(jù)
包名稱.模塊名稱.變量名稱/函數(shù)名稱/類型名稱
引入一個(gè)包中的某個(gè)變量
import 包名稱.模塊名稱
使用包中的數(shù)據(jù)
包名稱.模塊名稱.變量名稱/函數(shù)名稱/類型名稱
無(wú)法直接引入包中的某個(gè)變量
2袱饭、from import語(yǔ)法
(相對(duì))引入包
from.import 包名稱 [ 必須在init.py中, 主動(dòng)通過(guò)from.import引入需要的模塊]
使用數(shù)據(jù)
包名稱.模塊名稱.變量名稱/函數(shù)名稱/類型名稱
(相對(duì))引入包中的模塊
from.包名稱 import 模塊名稱
使用數(shù)據(jù)
模塊名稱.變量名稱/函數(shù)名稱/類型名稱
(相對(duì))引入包中的模塊中的數(shù)據(jù)
from.包名稱 import 變量/函數(shù)/類型
使用數(shù)據(jù):當(dāng)成當(dāng)前文件中的數(shù)據(jù)進(jìn)行數(shù)據(jù)
變量名稱/函數(shù)名稱/類型名稱
包特殊操作:
模糊導(dǎo)入
all屬性就是用于模糊導(dǎo)入的特殊魔法屬性呛占,值是一個(gè)包含模塊名稱的列表虑乖,主要聲明在init.py文件中,用于定義可以使用通配符的方式引入的模塊
自定義包
包:發(fā)布操作
標(biāo)準(zhǔn)化構(gòu)建:將開(kāi)發(fā)的代碼文件按照標(biāo)準(zhǔn)的格式進(jìn)行組織管理
在包文件中添加一個(gè)構(gòu)建模塊setup.py
在構(gòu)建模塊中栓票,添加如下的項(xiàng)目描述
from distutils.core import setup
setup()
執(zhí)行標(biāo)準(zhǔn)化構(gòu)建
python setup.py build
打包壓縮:將構(gòu)建好的代碼文件,打包壓縮到一個(gè)文件中,方便管理使用
python setup.py sdist
?
發(fā)布:將自己開(kāi)發(fā)好的程序走贪,經(jīng)過(guò)打包之后佛猛,發(fā)布到官方模塊管理標(biāo)準(zhǔn)網(wǎng)站中!
pip install twine (安裝模塊)
上傳自己的程序包
Twine upload dist/*
輸入在pipy的賬號(hào):xxxxxxxxxx
輸入在pipy的密碼:xxxxxxxxxx
發(fā)布成功
其他開(kāi)發(fā)人員~在聯(lián)網(wǎng)的情況下:pip install 程序包名稱