Python比較常見(jiàn)的庫(kù)有:Arrow、Behold、Click、Numba、Matlibplot、Pillow等:
創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供振興網(wǎng)站建設(shè)、振興做網(wǎng)站、振興網(wǎng)站設(shè)計(jì)、振興網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、振興企業(yè)網(wǎng)站模板建站服務(wù),十年振興做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
1、Arrow
Python中處理時(shí)間的庫(kù)有datetime,但是它過(guò)于簡(jiǎn)單,使用起來(lái)不夠方便和智能,而Arrow可以說(shuō)非常的方便和智能。它可以輕松地定位幾個(gè)小時(shí)之前的時(shí)間,可以輕松轉(zhuǎn)換時(shí)區(qū)時(shí)間,對(duì)于一個(gè)小時(shí)前,2個(gè)小時(shí)之內(nèi)這樣人性化的信息也能夠準(zhǔn)確解讀。
2、Behold
調(diào)試程序是每個(gè)程序員必備的技能,對(duì)于腳本語(yǔ)言,很多人習(xí)慣于使用print進(jìn)行調(diào)試,然而對(duì)于大項(xiàng)目來(lái)說(shuō),print的功能還遠(yuǎn)遠(yuǎn)不足,我們希望有一個(gè)可以輕松使用,調(diào)試方便,對(duì)變量監(jiān)視完整,格式已于查看的工具,而B(niǎo)ehold就是那個(gè)非常好用的調(diào)試庫(kù)。
3、Click
現(xiàn)在幾乎所有的框架都有自己的命令行腳手架,Python也不例外,那么如何快速開(kāi)發(fā)出屬于自己的命令行程序呢?答案就是使用Python的Click庫(kù)。Click庫(kù)對(duì)命令行api進(jìn)行了大量封裝,你可以輕松開(kāi)發(fā)出屬于自己的CLI命令集。終端的顏色,環(huán)境變量信息,通過(guò)Click都可以輕松進(jìn)行獲取和改變。
4、Numba
如果你從事數(shù)學(xué)方面的分析和計(jì)算,那么Numba一定是你必不可少的庫(kù)。Numpy通過(guò)將高速C庫(kù)包裝在Python接口中來(lái)工作,而Cython使用可選的類(lèi)型將Python編譯為C以提高性能。但是Numba無(wú)疑是最方便的,因?yàn)樗试S使用裝飾器選擇性地加速Python函數(shù)。
5、Matlibplot
做過(guò)數(shù)據(jù)分析,數(shù)據(jù)可視化的數(shù)學(xué)學(xué)生一定知道m(xù)atlab這個(gè)軟件,這是一個(gè)收費(fèi)的數(shù)學(xué)商用軟件,在Python中,Matlibplot就是為了實(shí)現(xiàn)這個(gè)軟件中功能開(kāi)發(fā)的第三方Python庫(kù)。并且它完全是免費(fèi)的,很多學(xué)校都是用它來(lái)進(jìn)行數(shù)學(xué)教學(xué)和研究的。
6、Pillow
圖像處理是任何時(shí)候我們都需要關(guān)注的問(wèn)題,平時(shí)我們看到很多ps中的神技,比如調(diào)整畫(huà)面顏色,飽和度,調(diào)整圖像尺寸,裁剪圖像等等,這些其實(shí)都可以通過(guò)Python簡(jiǎn)單完成,而其中我們需要使用的庫(kù)就是Pillow。
7、pyqt5
Python是可以開(kāi)發(fā)圖形界面程序的。而pyqt就是一款非常好用的第三方GUI庫(kù),有了它,你可以輕松開(kāi)發(fā)出跨平臺(tái)的圖形應(yīng)用程序,其中qtdesigner設(shè)計(jì)器,更是加速了我們開(kāi)發(fā)圖形界面的速度。
除了上述介紹的之外,Python還有很多庫(kù),比如:Pandas、NumPy、SciPy、Seaborn、Keras等。
Python作為一個(gè)設(shè)計(jì)優(yōu)秀的程序語(yǔ)言,現(xiàn)在已廣泛應(yīng)用于各種領(lǐng)域,依靠其強(qiáng)大的第三方類(lèi)庫(kù),Python在各個(gè)領(lǐng)域都能發(fā)揮巨大的作用。
下面我們就來(lái)看一下python中常用到的庫(kù):
數(shù)值計(jì)算庫(kù):
1. NumPy
支持多維數(shù)組與矩陣運(yùn)算,也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)。通常與SciPy和Matplotlib一起使用,支持比Python更多種類(lèi)的數(shù)值類(lèi)型,其中定義的最重要的對(duì)象是稱(chēng)為ndarray的n維數(shù)組類(lèi)型,用于描述相同類(lèi)型的元素集合,可以使用基于0的索引訪問(wèn)集合中元素。
2. SciPy
在NumPy庫(kù)的基礎(chǔ)上增加了眾多的數(shù)學(xué)、科學(xué)及工程計(jì)算中常用的庫(kù)函數(shù),如線性代數(shù)、常微分方程數(shù)值求解、信號(hào)處理、圖像處理、稀疏矩陣等,可進(jìn)行插值處理、信號(hào)濾波,以及使用C語(yǔ)言加速計(jì)算。
3. Pandas
基于NumPy的一種工具,為解決數(shù)據(jù)分析任務(wù)而生。納入大量庫(kù)和一些標(biāo)準(zhǔn)的數(shù)據(jù)模型,提供高效地操作大型數(shù)據(jù)集所需的工具及大量的能快速便捷處理數(shù)據(jù)的函數(shù)和方法,為時(shí)間序列分析提供很好的支持,提供多種數(shù)據(jù)結(jié)構(gòu),如Series、Time-Series、DataFrame和Panel。
數(shù)據(jù)可視化庫(kù):
4. Matplotlib
第一個(gè)Python可視化庫(kù),有許多別的程序庫(kù)都是建立在其基礎(chǔ)上或者直接調(diào)用該庫(kù),可以很方便地得到數(shù)據(jù)的大致信息,功能非常強(qiáng)大,但也非常復(fù)雜。
5. Seaborn
利用了Matplotlib,用簡(jiǎn)潔的代碼來(lái)制作好看的圖表。與Matplotlib最大的區(qū)別為默認(rèn)繪圖風(fēng)格和色彩搭配都具有現(xiàn)代美感。
6. ggplot
基于R的一個(gè)作圖庫(kù)ggplot2,同時(shí)利用了源于《圖像語(yǔ)法》(The Grammar of Graphics)中的概念,允許疊加不同的圖層來(lái)完成一幅圖,并不適用于制作非常個(gè)性化的圖像,為操作的簡(jiǎn)潔度而犧牲了圖像的復(fù)雜度。
7. Bokeh
跟ggplot一樣,Bokeh也基于《圖形語(yǔ)法》的概念。與ggplot不同之處為它完全基于Python而不是從R處引用。長(zhǎng)處在于能用于制作可交互、可直接用于網(wǎng)絡(luò)的圖表。圖表可以輸出為JSON對(duì)象、HTML文檔或者可交互的網(wǎng)絡(luò)應(yīng)用。
8. Plotly
可以通過(guò)Python notebook使用,與Bokeh一樣致力于交互圖表的制作,但提供在別的庫(kù)中幾乎沒(méi)有的幾種圖表類(lèi)型,如等值線圖、樹(shù)形圖和三維圖表。
9. pygal
與Bokeh和Plotly一樣,提供可直接嵌入網(wǎng)絡(luò)瀏覽器的可交互圖像。與其他兩者的主要區(qū)別在于可將圖表輸出為SVG格式,所有的圖表都被封裝成方法,且默認(rèn)的風(fēng)格也很漂亮,用幾行代碼就可以很容易地制作出漂亮的圖表。
10. geoplotlib
用于制作地圖和地理相關(guān)數(shù)據(jù)的工具箱。可用來(lái)制作多種地圖,比如等值區(qū)域圖、熱度圖、點(diǎn)密度圖。必須安裝Pyglet(一個(gè)面向?qū)ο缶幊探涌冢┓娇墒褂谩?/p>
11. missingno
用圖像的方式快速評(píng)估數(shù)據(jù)缺失的情況,可根據(jù)數(shù)據(jù)的完整度對(duì)數(shù)據(jù)進(jìn)行排序或過(guò)濾,或者根據(jù)熱度圖或樹(shù)狀圖對(duì)數(shù)據(jù)進(jìn)行修正。
web開(kāi)發(fā)庫(kù):
12. Django
一個(gè)高級(jí)的Python Web框架,支持快速開(kāi)發(fā),提供從模板引擎到ORM所需的一切東西,使用該庫(kù)構(gòu)建App時(shí),必須遵循Django的方式。
13. Socket
一個(gè)套接字通訊底層庫(kù),用于在服務(wù)器和客戶(hù)端間建立TCP或UDP連接,通過(guò)連接發(fā)送請(qǐng)求與響應(yīng)。
14. Flask
一個(gè)基于Werkzeug、Jinja 2的Python輕量級(jí)框架(microframework),默認(rèn)配備Jinja模板引擎,也包含其他模板引擎或ORM供選擇,適合用來(lái)編寫(xiě)API服務(wù)(RESTful rervices)。
15. Twisted
一個(gè)使用Python實(shí)現(xiàn)的基于事件驅(qū)動(dòng)的網(wǎng)絡(luò)引擎框架,建立在deferred object之上,一個(gè)通過(guò)異步架構(gòu)實(shí)現(xiàn)的高性能的引擎,不適用于編寫(xiě)常規(guī)的Web Apps,更適用于底層網(wǎng)絡(luò)。
數(shù)據(jù)庫(kù)管理:
16. MySQL-python
又稱(chēng)MySQLdb,是Python連接MySQL最流行的一個(gè)驅(qū)動(dòng),很多框架也基于此庫(kù)進(jìn)行開(kāi)發(fā)。只支持Python 2.x,且安裝時(shí)有許多前置條件。由于該庫(kù)基于C語(yǔ)言開(kāi)發(fā),在Windows平臺(tái)上的安裝非常不友好,經(jīng)常出現(xiàn)失敗的情況,現(xiàn)在基本不推薦使用,取代品為衍生版本。
17. mysqlclient
完全兼容MySQLdb,同時(shí)支持Python 3.x,是Django ORM的依賴(lài)工具,可使用原生SQL來(lái)操作數(shù)據(jù)庫(kù),安裝方式與MySQLdb一致。
18. PyMySQL
純Python實(shí)現(xiàn)的驅(qū)動(dòng),速度比MySQLdb慢,最大的特點(diǎn)為安裝方式簡(jiǎn)潔,同時(shí)也兼容MySQL-python。
19. SQLAlchemy
一種既支持原生SQL,又支持ORM的工具。ORM是Python對(duì)象與數(shù)據(jù)庫(kù)關(guān)系表的一種映射關(guān)系,可有效提高寫(xiě)代碼的速度,同時(shí)兼容多種數(shù)據(jù)庫(kù)系統(tǒng),如SQLite、MySQL、PostgreSQL,代價(jià)為性能上的一些損失。
自動(dòng)化運(yùn)維:
20. jumpsever跳板機(jī)
一種由Python編寫(xiě)的開(kāi)源跳板機(jī)(堡壘機(jī))系統(tǒng),實(shí)現(xiàn)了跳板機(jī)的基本功能,包含認(rèn)證、授權(quán)和審計(jì),集成了Ansible、批量命令等。
支持WebTerminal Bootstrap編寫(xiě),界面美觀,自動(dòng)收集硬件信息,支持錄像回放、命令搜索、實(shí)時(shí)監(jiān)控、批量上傳下載等功能,基于SSH協(xié)議進(jìn)行管理,客戶(hù)端無(wú)須安裝agent。主要用于解決可視化安全管理,因完全開(kāi)源,容易再次開(kāi)發(fā)。
21. Magedu分布式監(jiān)控系統(tǒng)
一種用Python開(kāi)發(fā)的自動(dòng)化監(jiān)控系統(tǒng),可監(jiān)控常用系統(tǒng)服務(wù)、應(yīng)用、網(wǎng)絡(luò)設(shè)備,可在一臺(tái)主機(jī)上監(jiān)控多個(gè)不同服務(wù),不同服務(wù)的監(jiān)控間隔可以不同,同一個(gè)服務(wù)在不同主機(jī)上的監(jiān)控間隔、報(bào)警閾值可以不同,并提供數(shù)據(jù)可視化界面。
22. Magedu的CMDB
一種用Python開(kāi)發(fā)的硬件管理系統(tǒng),包含采集硬件數(shù)據(jù)、API、頁(yè)面管理3部分功能,主要用于自動(dòng)化管理筆記本、路由器等常見(jiàn)設(shè)備的日常使用。由服務(wù)器的客戶(hù)端采集硬件數(shù)據(jù),將硬件信息發(fā)送至API,API負(fù)責(zé)將獲取的數(shù)據(jù)保存至數(shù)據(jù)庫(kù)中,后臺(tái)管理程序負(fù)責(zé)對(duì)服務(wù)器信息進(jìn)行配置和展示。
23. 任務(wù)調(diào)度系統(tǒng)
一種由Python開(kāi)發(fā)的任務(wù)調(diào)度系統(tǒng),主要用于自動(dòng)化地將一個(gè)服務(wù)進(jìn)程分布到其他多個(gè)機(jī)器的多個(gè)進(jìn)程中,一個(gè)服務(wù)進(jìn)程可作為調(diào)度者依靠網(wǎng)絡(luò)通信完成這一工作。
24. Python運(yùn)維流程系統(tǒng)
一種使用Python語(yǔ)言編寫(xiě)的調(diào)度和監(jiān)控工作流的平臺(tái),內(nèi)部用于創(chuàng)建、監(jiān)控和調(diào)整數(shù)據(jù)管道。允許工作流開(kāi)發(fā)人員輕松創(chuàng)建、維護(hù)和周期性地調(diào)度運(yùn)行工作流,包括了如數(shù)據(jù)存儲(chǔ)、增長(zhǎng)分析、Email發(fā)送、A/B測(cè)試等諸多跨多部門(mén)的用例。
GUI編程:
25. Tkinter
一個(gè)Python的標(biāo)準(zhǔn)GUI庫(kù),可以快速地創(chuàng)建GUI應(yīng)用程序,可以在大多數(shù)的UNIX平臺(tái)下使用,同樣可以應(yīng)用在Windows和Macintosh系統(tǒng)中,Tkinter 8.0的后續(xù)版本可以實(shí)現(xiàn)本地窗口風(fēng)格,并良好地運(yùn)行在絕大多數(shù)平臺(tái)中。
26. wxPython
一款開(kāi)源軟件跨平臺(tái)GUI庫(kù)wxWidgets的Python封裝和Python模塊,是Python語(yǔ)言的一套優(yōu)秀的GUI圖形庫(kù),允許程序員很方便地創(chuàng)建完整的、功能健全的GUI用戶(hù)界面。
27. PyQt
一個(gè)創(chuàng)建GUI應(yīng)用程序的工具庫(kù),是Python編程語(yǔ)言和Qt的成功融合,可以運(yùn)行在所有主要操作系統(tǒng)上,包括UNIX、Windows和Mac。PyQt采用雙許可證,開(kāi)發(fā)人員可以選擇GPL和商業(yè)許可,從PyQt的版本4開(kāi)始,GPL許可證可用于所有支持的平臺(tái)。
28. PySide
一個(gè)跨平臺(tái)的應(yīng)用程式框架Qt的Python綁定版本,提供與PyQt類(lèi)似的功能,并相容API,但與PyQt不同處為其使用LGPL授權(quán)。
更多Python知識(shí)請(qǐng)關(guān)注Python自學(xué)網(wǎng)。
一、以下函數(shù)是turtle海龜庫(kù)內(nèi)關(guān)于海龜?shù)臓顟B(tài)函數(shù)
1、position()或 pos()獲取海龜?shù)漠?dāng)前位置坐標(biāo)
無(wú)參數(shù)
2、towards(x,y)與參考點(diǎn)的夾角
參數(shù):x,y坐標(biāo)值,為towards測(cè)量夾角做參考
3、xcor()返回當(dāng)前點(diǎn)的x坐標(biāo)
無(wú)參數(shù)
4、ycor()返回當(dāng)前點(diǎn)的y坐標(biāo)
無(wú)參數(shù)
5、heading()返回海龜當(dāng)前方位與(0,0)點(diǎn)(既原點(diǎn))的夾角
無(wú)參數(shù)
6、distance(x,y)測(cè)量與參考坐標(biāo)點(diǎn)之間的長(zhǎng)度
參數(shù)(x,y)為參考坐標(biāo)點(diǎn)
二、以下是設(shè)置單位的兩個(gè)函數(shù)
1、degrees(fullcircle)設(shè)置圓或圓弧以角度為單位,默認(rèn)360度。
參數(shù):fullcircle 設(shè)置圓周多少度,默認(rèn)圓一周360度
2、radians()設(shè)置圓或圓弧單位為弧度
無(wú)參數(shù)
標(biāo)準(zhǔn)庫(kù)比較多 功能也不同:
標(biāo)準(zhǔn)庫(kù)
sys
系統(tǒng)相關(guān)的參數(shù)和函數(shù)。 sys 庫(kù)一般用來(lái)訪問(wèn)和修改系統(tǒng)相關(guān)信息,比如查看 python 版本、系統(tǒng)環(huán)境變量、模塊信息和 python 解釋器相關(guān)信息等等。
os
操作系統(tǒng)接口模塊。這個(gè)庫(kù)提供了訪問(wèn)操作系統(tǒng)相關(guān)依賴(lài)的方式,比如輸入輸出操作、讀寫(xiě)操作、操作系統(tǒng)異常錯(cuò)誤信息、進(jìn)程線程管理、文件管理、調(diào)度程序等等。
re
正則表達(dá)式操作。這個(gè)庫(kù)是我喜歡并且經(jīng)常會(huì)用到的庫(kù),在對(duì)大量字符串進(jìn)行處理的時(shí)候用正則表達(dá)式是最快速有效的方式,但是正則表達(dá)式的學(xué)習(xí)曲線較高,有興趣的朋友可以訪問(wèn)這個(gè)網(wǎng)站學(xué)習(xí)。
math
數(shù)學(xué)函數(shù)庫(kù)。 math 庫(kù)提供了對(duì) C 語(yǔ)言標(biāo)準(zhǔn)定義的數(shù)學(xué)函數(shù)訪問(wèn),比如數(shù)論(Number-theoretic)的各種表示方法、冪和對(duì)數(shù)函數(shù)(Power and logarithmic functions)、三角函數(shù)(Trigonometric functions)、常量圓周率(π)和自然常數(shù)(e)等等。
random
生成偽隨機(jī)數(shù)。
偽隨機(jī)數(shù)與隨機(jī)數(shù)(真隨機(jī)數(shù))不同的是執(zhí)行環(huán)境,隨機(jī)數(shù)是真實(shí)世界中通過(guò)物理過(guò)程實(shí)踐得出結(jié)論,而偽隨機(jī)數(shù)是通過(guò)計(jì)算機(jī)的特定算法生成的數(shù),所以這個(gè)過(guò)程是可預(yù)測(cè)的、有規(guī)律的,只是循環(huán)周期較長(zhǎng),并不能與現(xiàn)實(shí)場(chǎng)景相切合。
random庫(kù)提供生成隨機(jī)數(shù),可以模擬現(xiàn)實(shí)世界中隨機(jī)取數(shù)、隨機(jī)抽獎(jiǎng)等等。
logging
日志記錄工具。這個(gè)庫(kù)提供了對(duì)應(yīng)用程序和庫(kù)函數(shù)的日志記錄,日常開(kāi)發(fā)中我們經(jīng)常需要通過(guò)日志打印出當(dāng)前程序的運(yùn)行狀態(tài),實(shí)時(shí)查看可能出現(xiàn)的堆棧異常和錯(cuò)誤信息。
json
Json 編碼和解碼器。 json 庫(kù)提供了對(duì) json 數(shù)據(jù)的支持,日常開(kāi)發(fā)中我們做前后端分離需要對(duì)傳輸數(shù)據(jù) json 進(jìn)行序列化和反序列化操作,以保證對(duì)數(shù)據(jù)的完整性和有效性,而序列化和反序列化其實(shí)就是編碼和解碼的過(guò)程。
pickle
Python 對(duì)象序列化庫(kù)。 pickle 庫(kù)支持對(duì) python 對(duì)象進(jìn)行序列化和反序列化操作,當(dāng)我們需要將處理好的對(duì)象保存到文件或數(shù)據(jù)庫(kù)中時(shí),就可以將其序列化成二進(jìn)制數(shù)據(jù),從而更好的保存起來(lái)。
shelve
Python 對(duì)象持久化。簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)方案。
socket
底層網(wǎng)絡(luò)接口。 socket(套接字) 庫(kù)提供了標(biāo)準(zhǔn)的BSD(伯克利套接字) Socket API,可以通過(guò)訪問(wèn)底層操作系統(tǒng) Socket 的相關(guān)接口進(jìn)行網(wǎng)絡(luò)通訊。
datetime
基本日期和時(shí)間類(lèi)型庫(kù)。該庫(kù)提供了各種簡(jiǎn)單和復(fù)雜的方式處理日期和時(shí)間,日常我們會(huì)用時(shí)間測(cè)算時(shí)間消耗、復(fù)雜度,對(duì)存儲(chǔ)的創(chuàng)建時(shí)間和修改時(shí)間也需要進(jìn)一步說(shuō)明,對(duì)計(jì)時(shí)器的描述和控制也需要用到該庫(kù)。
hashlib
安全哈希和消息摘要。摘要算法 其實(shí)就是對(duì)某些數(shù)據(jù)進(jìn)行加密(不可逆的加密算法),因?yàn)楸患用艿臄?shù)據(jù)無(wú)法破解,所以就能防止被篡改。常見(jiàn)的摘要算法有 MD5、SHA1,一般我們會(huì)用 MD5 對(duì)用戶(hù)口令進(jìn)行加密,防止盜用后被輕易破解;而 SHA1 與 MD5 類(lèi)似,但是 SHA1 會(huì)產(chǎn)生更長(zhǎng)的長(zhǎng)度,也更安全,但是算法的復(fù)雜性通常伴隨著存儲(chǔ)空間和時(shí)間的消耗。要說(shuō)比SHA1更長(zhǎng)的字符長(zhǎng)度,還有 SHA224、SHA256、SHA384 和 SHA512,看名字就能知道。
大家都知道無(wú)論算法生成的字符長(zhǎng)度如何都有可能發(fā)生碰撞(被破解),這是不可避免的,所以具體場(chǎng)景具體情況而定。
configparser
配置文件解析器。 configparser 庫(kù)可以輕松定制配置文件,通過(guò)解析配置文件的信息我們就可以全局訪問(wèn)相關(guān)配置。
urllib
URL 處理模塊。 urllib 庫(kù)集成了處理 URLs(統(tǒng)一資源定位符)的各種模塊:
URL urllib.request URL robots.txt urllib 庫(kù)對(duì)訪問(wèn)網(wǎng)絡(luò)有很好的支持,提供了對(duì)數(shù)據(jù)的訪問(wèn)和處理、文件的上傳和下載、記錄 cookie 和 session 等等。
itertools
為高效循環(huán)而創(chuàng)建迭代器的函數(shù)。 itertools 庫(kù)也是經(jīng)常需要用到,當(dāng)我們要對(duì)某些數(shù)進(jìn)行 for-in 時(shí)就需要先將其處理成一個(gè)可迭代對(duì)象,之后我們才能進(jìn)行遍歷操作。
collections
容器數(shù)據(jù)類(lèi)型庫(kù)。 collections 庫(kù)提供了對(duì)所有容器數(shù)據(jù)類(lèi)型的支持,包括 dict, list, set 和 tuple。我們可以用此庫(kù)對(duì)不同數(shù)據(jù)類(lèi)型進(jìn)行操作,常有的函數(shù)方法有這些:
namedtuple() 創(chuàng)建命名元組子類(lèi)的工廠函數(shù) deque 類(lèi)似列表(list)的容器,實(shí)現(xiàn)了在兩端快速添加(append)和彈出(pop) ChainMap 類(lèi)似字典(dict)的容器類(lèi),將多個(gè)映射集合到一個(gè)視圖里面 Counter 字典的子類(lèi),提供了可哈希對(duì)象的計(jì)數(shù)功能 OrderedDict 字典的子類(lèi),保存了他們被添加的順序 defaultdict 字典的子類(lèi),提供了一個(gè)工廠函數(shù),為字典查詢(xún)提供一個(gè)默認(rèn)值 UserDict 封裝了字典對(duì)象,簡(jiǎn)化了字典子類(lèi)化 UserList 封裝了列表對(duì)象,簡(jiǎn)化了列表子類(lèi)化 UserString 封裝了列表對(duì)象,簡(jiǎn)化了字符串子類(lèi)化 functools
高階函數(shù)和可調(diào)用對(duì)象上的操作。該庫(kù)主要調(diào)用高階函數(shù),是常規(guī)函數(shù)的一種補(bǔ)充。目前庫(kù)中包含以下幾種函數(shù):
cmp_to_key lru_cache total_ordering partial partialmethod reduce singledispatch update_wrapper wraps threading
線程并行庫(kù)。 threading 庫(kù)支持線程和多線程的操作,針對(duì)多線程并發(fā)的問(wèn)題可以給數(shù)據(jù)加同步鎖,一次只能讓一個(gè)線程處理數(shù)據(jù),從而避免出現(xiàn)數(shù)據(jù)讀寫(xiě)混亂。
在 CPython 解釋器上,因?yàn)镚IL(全局解釋器鎖)鎖機(jī)制的存在的,被設(shè)計(jì)成線程安全,所以同一時(shí)間只能執(zhí)行一個(gè)線程,這就導(dǎo)致了多線程不能發(fā)揮出計(jì)算機(jī)的多核特性。
multiprocessing
進(jìn)程并行庫(kù)。 multiprocessing 庫(kù)與 threading 庫(kù)很類(lèi)似,不同的是進(jìn)程庫(kù)可以創(chuàng)建子進(jìn)程避開(kāi) GIL,從而彌補(bǔ)線程庫(kù)存在的劣勢(shì)和發(fā)揮計(jì)算機(jī)的多核特性。
timeit
測(cè)量小代碼片段的執(zhí)行時(shí)間。此庫(kù)主要用來(lái)計(jì)算運(yùn)行代碼的時(shí)間消耗,支持多種方式傳入?yún)?shù)。
atexit
退出處理器。當(dāng)處理一個(gè)函數(shù)需要立馬退出時(shí)可以使用該庫(kù)。
abc
抽象基類(lèi)。 abc 庫(kù)定義抽象基類(lèi),以便其他類(lèi)派生出新類(lèi)。比如 collections 容器庫(kù)中就有此派生出的 collections.abc 類(lèi),派生出來(lái)的類(lèi)可以進(jìn)一步實(shí)現(xiàn)。
asyncio
異步IO庫(kù)。 asyncio 庫(kù)是一個(gè)用 async/await 關(guān)鍵字編寫(xiě)并發(fā)的庫(kù),為多個(gè)異步框架提供基礎(chǔ)功能,能夠?qū)崿F(xiàn)高性能的網(wǎng)絡(luò)、Web服務(wù)器、數(shù)據(jù)庫(kù)連接和分布式任務(wù)隊(duì)列等。
copy
淺層和深層復(fù)制操作。 copy 庫(kù)提供對(duì)對(duì)象的拷貝,我們都知道要制作對(duì)象副本,是無(wú)法通過(guò)簡(jiǎn)單值傳遞創(chuàng)建新變量的方式做到,因?yàn)樾伦兞克赶虻膬?nèi)存空間依舊是原對(duì)象本身,所以對(duì)新變量進(jìn)行任何操作都會(huì)改變?cè)瓕?duì)象。那么, copy 庫(kù)就提供了制作對(duì)象副本的各種方法,會(huì)開(kāi)辟一個(gè)新的內(nèi)存空間存放副本對(duì)象,修改操作不會(huì)對(duì)原對(duì)象有任何干預(yù)。
csv
csv(Comma Separated Values)文件讀寫(xiě)庫(kù)。此庫(kù)支持以純文本的形式存儲(chǔ)表格數(shù)據(jù)(數(shù)字和文本)。
operator
標(biāo)準(zhǔn)運(yùn)算符替代函數(shù)庫(kù)。此庫(kù)是將 python 自有的運(yùn)算符作為有效函數(shù),比如表達(dá)式 x+y 可以用函數(shù) operator.add(x, y) 表示;比如表達(dá)式 a*b 可以用函數(shù) operator.mul(a, b) 表示,等等。
enum
枚舉庫(kù)。 enum 庫(kù)支持創(chuàng)建枚舉類(lèi)來(lái)存儲(chǔ)大量同類(lèi)型的不可變常量,以便其他函數(shù)調(diào)用。創(chuàng)建出來(lái)的枚舉類(lèi)是可迭代對(duì)象,所以可以用 for-in 枚舉出所有常量。
heapq
堆隊(duì)列算法。這個(gè)模塊提供了堆隊(duì)列算法的實(shí)現(xiàn),也稱(chēng)為優(yōu)先隊(duì)列算法。優(yōu)先隊(duì)列中的每個(gè)元素都有各自的優(yōu)先級(jí),優(yōu)先級(jí)最高的元素最先得到服務(wù)。所以當(dāng)我們要求前n最大/最小值的時(shí)候就可以用此算法來(lái)實(shí)現(xiàn), heapq 庫(kù)中也提供了相應(yīng)函數(shù)實(shí)現(xiàn)。
http
HTTP 模塊。 http 模塊是一個(gè)包,收集了多個(gè)處理超文本傳輸協(xié)議的模塊:
urllib.request http 模塊通過(guò) http.HTTPStatus 枚舉定義了HTTP狀態(tài)碼 以及相關(guān)聯(lián)消息。
profile、pstats
性能分析工具。 profile 模塊提供了 profile 和 cProfile 兩種不同實(shí)現(xiàn)的性能分析工具,可用來(lái)描述程序各個(gè)部分的執(zhí)行時(shí)間和頻率,統(tǒng)計(jì)后的信息可以通過(guò) pstats 模塊保存并使用。
ssl
TLS/SSL(傳輸安全協(xié)議)。此模塊提供對(duì)安全協(xié)議的支持,通過(guò)應(yīng)用上下文,可將 TLS(傳輸層安全性協(xié)議)或其前身 SSL(安全套接層)支持安全協(xié)議,能為互聯(lián)網(wǎng)通信提供安全和數(shù)據(jù)完整性保障。一般 HTTPS 協(xié)議都支持 TLS/SSL 加密。
unitest
單元測(cè)試框架。 unitest 庫(kù)常用于單元測(cè)試,受到 JUnit 和其他主流測(cè)試庫(kù)的啟發(fā), unitest 庫(kù)的功能和函數(shù)與它們有著相似的風(fēng)格。
uuid
UUID庫(kù)。 uuid 庫(kù)主要用途是生成隨機(jī)字符串,庫(kù)中有多個(gè)版本的 UUID 對(duì)象方法,比如版本 1、3、4 和 5 的 uuid1() 、 uuid3() 、 uuid4() 和 uuid5() 。需要注意的是,如果要生成隨機(jī)字符串,可以使用 uuid1() 和 uuid4() ,但是 uuid1() 會(huì)存在隱私風(fēng)險(xiǎn),因?yàn)樯傻脑砝镞叞脩?hù)訪問(wèn)計(jì)算機(jī)的網(wǎng)絡(luò)地址,而 uuid4() 是通過(guò)隨機(jī)字符生成。
希望可以幫助到你。
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系統(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ù)制到自己的程 序中,然后就可以訪問(wèn)模塊中的任何函數(shù),其方 法是在函數(shù)名前面加上“模塊名.”。
希望能幫到你。
名稱(chēng)欄目:python的所有庫(kù)函數(shù) python函數(shù)庫(kù)的方法大全
轉(zhuǎn)載來(lái)于:http://www.chinadenli.net/article18/hpgigp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、域名注冊(cè)、網(wǎng)站維護(hù)、微信小程序、網(wǎng)站排名、微信公眾號(hào)
聲明:本網(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)
猜你還喜歡下面的內(nèi)容