劃重點(diǎn): 這三個(gè)概念(庫(kù)、包、模塊)實(shí)際上都是模塊,只不過(guò)是個(gè)體和集合的區(qū)別。
創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)甘德,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):13518219792
一個(gè)模塊就是一個(gè).py文件,里面定義了一些函數(shù)和變量,需要的時(shí)候就可以導(dǎo)入這些模塊(.py文件)。
在模塊之上的概念,為了方便管理而將 .py文件 進(jìn)行打包。包目錄下第一個(gè)文件便是 init .py(特點(diǎn)),然后是一些模塊文件和子目錄等。
庫(kù):具有相關(guān)功能模塊的集合。這也是Python的一大特色之一,即具有強(qiáng)大的標(biāo)準(zhǔn)庫(kù)、第三方庫(kù)以及自定義模塊。
1.python模塊是:
python模塊:包含并且有組織的代碼片段為模塊。
表現(xiàn)形式為:寫(xiě)的代碼保存為文件。這個(gè)文件就是一個(gè)模塊。sample.py 其中文件名smaple為模塊名字。
關(guān)系圖:
2.python包是:
包是一個(gè)有層次的文件目錄結(jié)構(gòu),它定義了由n個(gè)模塊或n個(gè)子包組成的python應(yīng)用程序執(zhí)行環(huán)境。
通俗一點(diǎn):包是一個(gè)包含__init__.py 文件的目錄,該目錄下一定得有這個(gè)__init__.py文件和其它模塊或子包。
常見(jiàn)問(wèn)題:
引入某一特定路徑下的模塊
使用sys.path.append(yourmodulepath)
將一個(gè)路徑加入到python系統(tǒng)路徑下,避免每次通過(guò)代碼指定路徑
利用系統(tǒng)環(huán)境變量?export PYTHONPATH=$PYTHONPATH:yourmodulepath,
直接將這個(gè)路徑鏈接到類(lèi)似/Library/Python/2.7/site-packages目錄下
好的建議:
經(jīng)常使用if __name__ == '__main__',保證寫(xiě)包既可以import又可以獨(dú)立運(yùn)行,用于test。
多次import不會(huì)多次執(zhí)行模塊,只會(huì)執(zhí)行一次。可以使用reload來(lái)強(qiáng)制運(yùn)行模塊,但不提倡。
常見(jiàn)的包結(jié)構(gòu)如下:
package_a
├── __init__.py
├── module_a1.py
└── module_a2.py
package_b
├── __init__.py
├── module_b1.py
└── module_b2.py
main.py
如果main.py想要引用packagea中的模塊modulea1,可以使用:
from package_a import module_a1
import package_a.module_a1
如果packagea中的modulea1需要引用packageb,那么默認(rèn)情況下,python是找不到packageb。我們可以使用sys.path.append('../'),可以在packagea中的__init__.py添加這句話(huà),然后該包下得所有module都添加*?import __init_即可。
關(guān)系圖:
3.庫(kù)(library)
庫(kù)的概念是具有相關(guān)功能模塊的集合。這也是Python的一大特色之一,即具有強(qiáng)大的標(biāo)準(zhǔn)庫(kù)、第三方庫(kù)以及自定義模塊。
1.dir函數(shù)式可以查看對(duì)象的屬性
使用方法很簡(jiǎn)單,舉os類(lèi)型為例,在Python命令窗口輸入?dir(‘os’)?即可查看os模塊的屬性
打開(kāi)cmd命令窗口:
2.如何查看對(duì)象某個(gè)屬性的幫助文檔:兩種方法如下:
3.如何查看某個(gè)對(duì)象的詳細(xì):
3.如何查看某個(gè)對(duì)象的函數(shù):
隨著使用python的時(shí)間越來(lái)越長(zhǎng),安裝的python模塊也越來(lái)越多,有的模塊不常用,也漸漸會(huì)忘了里面有哪些函數(shù);或者,一個(gè)新的python模塊,沒(méi)有官方文檔,要想知道調(diào)用哪些函數(shù),怎么調(diào)用那些函數(shù),于是乎就需要查看一下自己安裝的python模塊里有哪些函數(shù),現(xiàn)將查看方法總結(jié)如下
在命令行下運(yùn)行如下命令即可查看
在交互式解釋器中輸入如下命令即可,效果跟在命令行下輸入 $ pydoc modules 是一樣的。
python的sys模塊也是可以用來(lái)查看模塊信息的
如果你使用的是 pip 來(lái)作為你的 python 包管理器的話(huà),可以在命令行下直接運(yùn)行 $ pip freeze/code 或者 code$ pip list 來(lái)查看安裝包的信息,當(dāng)然其它的包管理器也有類(lèi)似的功能,同時(shí),你也可以在python交互式解釋器中導(dǎo)入pip模塊來(lái)查看包信息。
如果你安裝過(guò) yolk 的話(huà)可以使用 yolk 命令來(lái)查看包信息,你可以使用 $ pip install yolk 來(lái)安裝它 yolk 使用簡(jiǎn)單,只需在命令行下操作即可。
python系統(tǒng)提供了下面常用的函數(shù):
1. 數(shù)學(xué)庫(kù)模塊(math)提供了很多數(shù)學(xué)運(yùn)算函數(shù);
2.復(fù)數(shù)模塊(cmath)提供了用于復(fù)數(shù)運(yùn)算的函數(shù);
3.隨機(jī)數(shù)模塊(random)提供了用來(lái)生成隨機(jī)數(shù)的函數(shù);
4.時(shí)間(time)和日歷(calendar)模塊提供了能處理日期和時(shí)間的函數(shù)。
注意:在調(diào)用系統(tǒng)函數(shù)之前,先要使用import 語(yǔ)句導(dǎo)入 相應(yīng)的模塊
該語(yǔ)句將模塊中定義的函數(shù)代碼復(fù)制到自己的程 序中,然后就可以訪(fǎng)問(wèn)模塊中的任何函數(shù),其方 法是在函數(shù)名前面加上“模塊名.”。
希望能幫到你。
名稱(chēng)欄目:python包模塊庫(kù)函數(shù) python 包 模塊
分享地址:http://jinyejixie.com/article32/hpchsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站導(dǎo)航、網(wǎng)站內(nèi)鏈、云服務(wù)器、網(wǎng)站維護(hù)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)