10個(gè)頂級(jí)Python實(shí)用庫(kù)推薦
為什么我喜歡Python?對(duì)于初學(xué)者來(lái)說(shuō),這是一種簡(jiǎn)單易學(xué)的編程語(yǔ)言,另一個(gè)原因:大量開(kāi)箱即用的第三方庫(kù),正是23萬(wàn)個(gè)由用戶提供的軟件包使得Python真正強(qiáng)大和流行。
在本文中,我挑選了15個(gè)最有用的軟件包,介紹它們的功能和特點(diǎn)。
1. Dash
Dash 是一個(gè)用于構(gòu)建基于 Web 的應(yīng)用程序的 Python 庫(kù),無(wú)需 JavaScript 。
Dash 同時(shí)也是用于創(chuàng)建分析 Web 應(yīng)用程序的用戶界面庫(kù)。那些使用 Python 進(jìn)行數(shù)據(jù)分析、數(shù)據(jù)挖掘、可視化、建模、儀器控制和報(bào)告的人可以立即使用 Dash 。
Dash 建立在 Plotly.js、React 和 Flask 之上,將現(xiàn)代 UI 元素(如下拉列表、滑塊和圖形)與你的分析 Python 代碼相結(jié)合。
項(xiàng)目地址:
https://github.com/plotly/dash
2. Pillow
Pillow專(zhuān)門(mén)用于處理圖像,您可以使用該庫(kù)創(chuàng)建縮略圖,在文件格式之間轉(zhuǎn)換,旋轉(zhuǎn),應(yīng)用濾鏡,顯示圖像等等。如果您需要對(duì)許多圖像執(zhí)行批量操作,這是理想的選擇。
為了快速了解它,看以下代碼示例(加載并渲染圖片):
幫助文檔:
https://pillow-cn.readthedocs.io/zh_CN/latest/ https://pillow.readthedocs.io/en/stable/
3. Colorama
Colorama允許你在終端使用顏色,非常適合Python腳本,文檔簡(jiǎn)短而有趣,可以在Colorama PyPI頁(yè)面上找到。
項(xiàng)目地址:
4. JmesPath
在Python中使用JSON非常容易,因?yàn)镴SON在Python字典上的映射非常好。此外,Python帶有自己出色的json庫(kù),用于解析和創(chuàng)建JSON。對(duì)我來(lái)說(shuō),這是它最好的功能之一。如果我需要使用JSON,可以考慮使用Python。
JMESPath使Python處理JSON更加容易,它允許您明確的地指定如何從JSON文檔中提取元素。以下是一些基本示例,可讓您對(duì)它的功能有所了解:
>>> import jmespath >>> path = jmespath.search('foo.bar', {'foo': {'bar': 'baz'}}) 'baz'
項(xiàng)目地址:
https://github.com/jmespath/jmespath.py
5. Simplejson
Python中的本地json模塊有什么問(wèn)題?沒(méi)有!實(shí)際上,Python的json是simplejson。意思是,Python采用了simplejson的一個(gè)版本,并將其合并到每個(gè)發(fā)行版中。但是使用simplejson具有一些優(yōu)點(diǎn):
- 它適用于更多Python版本。
- 它比Python隨附的版本更新頻率更高。
- 它具有用C編寫(xiě)的(可選)部分,因此非??焖?。
由于這些事實(shí),您經(jīng)常會(huì)在使用JSON的腳本中看到以下內(nèi)容:
項(xiàng)目地址:
https://github.com/simplejson/simplejson
Simplejson比json快很多,因?yàn)樗肅實(shí)現(xiàn)一些關(guān)鍵部分。除非您正在處理數(shù)百萬(wàn)個(gè)JSON文件,否則您不會(huì)對(duì)這種速度感興趣。
6. Emoji
Emoji庫(kù)非常有意思,但并非每個(gè)人都喜歡表情包,分析視角媒體數(shù)據(jù)時(shí),Emoji包非常有用。
項(xiàng)目地址:
https://github.com/carpedm20/emoji/
7. 進(jìn)度條:progress和tqdm
這里有點(diǎn)作弊,因?yàn)檫@是兩個(gè)包,但忽略其中之一是不公平的。
您可以創(chuàng)建自己的進(jìn)度條,這也許很有趣,但是使用progress或tqdm程序包更快,更不容易出錯(cuò)。
progress
借助這個(gè)軟件包,您可以輕松創(chuàng)建進(jìn)度條:
from progress.bar import Bar bar = Bar('Processing', max=20) for i in range(20): # Do some work bar.next() bar.finish()
tqdm
tqdm的功能大致相同,但似乎是最新的。
from tqdm import tqdm for i in tqdm(range(10000)): ...
以gif動(dòng)畫(huà)形式進(jìn)行一些演示:
8. Homeassistant
home assistant是一個(gè)運(yùn)行在python 3上的家庭自動(dòng)化平臺(tái)。它能夠在家里對(duì)所有設(shè)備進(jìn)行跟蹤和控制,為自動(dòng)化控制提供了一個(gè)平臺(tái)。
它現(xiàn)在控制著我們房屋的大部分。我使用Home Assistant將房子中的所有系統(tǒng)捆綁在一起。盡管它確實(shí)是一個(gè)完整的應(yīng)用程序,但是您也可以將其安裝為Python PyPI軟件包。
- 大多數(shù)燈具都是自動(dòng)化的,百葉窗也是如此。
- 監(jiān)視我們的天然氣用量,電力用量和產(chǎn)量(太陽(yáng)能電池板)。
- 可以跟蹤大多數(shù)電話的位置,并在進(jìn)入一個(gè)區(qū)域時(shí)開(kāi)始操作,例如當(dāng)我回家時(shí)打開(kāi)車(chē)庫(kù)燈。
- 它還可以控制我們所有的娛樂(lè)系統(tǒng),例如三星電視和Sonos揚(yáng)聲器。
- 它能夠自動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)上的大多數(shù)設(shè)備,因此上手起來(lái)非常容易。
項(xiàng)目地址:
https://github.com/home-assistant/core
9. Python-dateutil
python-dateutil模塊提供了對(duì)標(biāo)準(zhǔn)datetime模塊的強(qiáng)大擴(kuò)展。
您可以使用此庫(kù)做很多很棒的事情。比如計(jì)算相對(duì)增量(下個(gè)月,明年,下周一,該月的最后一周等)和兩個(gè)給定日期對(duì)象之間的相對(duì)增量。
項(xiàng)目地址:
https://github.com/dateutil/dateutil/
10. Pygame
Pygame 是一組用來(lái)開(kāi)發(fā)游戲軟件的 Python 程序模塊,基于 SDL 庫(kù)的基礎(chǔ)上開(kāi)發(fā)
允許你在 Python 程序中創(chuàng)建功能豐富的游戲和多媒體程序,旨在提供對(duì)以下內(nèi)容的低級(jí)接口:
- 音頻
- 鍵盤(pán)
- 鼠標(biāo)
- 游戲桿
- 基于OpenGL和Direct3D的圖形硬件
Pygame具有高度的可移植性,幾乎可以在所有平臺(tái)和操作系統(tǒng)上運(yùn)行。盡管它具有完善的游戲引擎,但您也可以使用此庫(kù)直接從Python腳本播放MP3文件。
以上就是10個(gè)頂級(jí)Python實(shí)用庫(kù)推薦的詳細(xì)內(nèi)容,更多關(guān)于Python實(shí)用庫(kù)推薦的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python3獲取電腦IP、主機(jī)名、Mac地址的方法示例
這篇文章主要介紹了Python3獲取電腦IP、主機(jī)名、Mac地址的方法,結(jié)合具體實(shí)例形式分析了Python3基于socket與uuid模塊針對(duì)電腦的IP、主機(jī)名、Mac地址等信息的讀取操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-04-04Python中tkinter無(wú)法同時(shí)顯示多個(gè)image的解決方法及pack與place解析
這篇文章主要介紹了Python中tkinter無(wú)法同時(shí)顯示多個(gè)image的解決方法及pack與place解析,本文給大家分享問(wèn)題原因解析及解決方案,需要的朋友可以參考下2023-02-02python3.7簡(jiǎn)單的爬蟲(chóng)實(shí)例詳解
這篇文章主要介紹了python3.7簡(jiǎn)單的爬蟲(chóng)實(shí)例代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Pandas —— resample()重采樣和asfreq()頻度轉(zhuǎn)換方式
今天小編就為大家分享一篇Pandas —— resample()重采樣和asfreq()頻度轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02numpy工程實(shí)踐之np.savetxt()存儲(chǔ)數(shù)據(jù)
NumPy提供了多種存取數(shù)組內(nèi)容的文件操作函數(shù),保存數(shù)組數(shù)據(jù)的文件可以是二進(jìn)制格式或者文本格式,下面這篇文章主要給大家介紹了關(guān)于numpy工程實(shí)踐之np.savetxt()存儲(chǔ)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2023-05-05Python連接Impala實(shí)現(xiàn)步驟解析
這篇文章主要介紹了Python連接Impala實(shí)現(xiàn)步驟解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08python-for x in range的用法(注意要點(diǎn)、細(xì)節(jié))
這篇文章主要介紹了python-for x in range的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-05-05Python 爬蟲(chóng)性能相關(guān)總結(jié)
這篇文章主要介紹了Python 爬蟲(chóng)性能的相關(guān)資料,文中講解非常詳細(xì),幫助大家更好的理解和學(xué)習(xí)爬蟲(chóng),感興趣的朋友可以了解下2020-08-08