目錄
- 1. Dash
- 2. Pillow
- 3. Colorama
- 4. JmesPath
- 5. Simplejson
- 6. Emoji
- 7. 進(jìn)度條:progress和tqdm
- 8. Homeassistant
- 9. Python-dateutil
- 10. Pygame
為什么我喜歡Python?對(duì)于初學(xué)者來(lái)說(shuō),這是一種簡(jiǎn)單易學(xué)的編程語(yǔ)言,另一個(gè)原因:大量開箱即用的第三方庫(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專門用于處理圖像,您可以使用該庫(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)目地址:
github.com/tartley/colorama
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編寫的(可選)部分,因此非??焖佟?br />
由于這些事實(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)畫形式進(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í)開始操作,例如當(dāng)我回家時(shí)打開車庫(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)開發(fā)游戲軟件的 Python 程序模塊,基于 SDL 庫(kù)的基礎(chǔ)上開發(fā)
允許你在 Python 程序中創(chuàng)建功能豐富的游戲和多媒體程序,旨在提供對(duì)以下內(nèi)容的低級(jí)接口:
- 音頻
- 鍵盤
- 鼠標(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)文章!
您可能感興趣的文章:- 13個(gè)最常用的Python深度學(xué)習(xí)庫(kù)介紹
- Python常用庫(kù)大全及簡(jiǎn)要說(shuō)明
- 幾款好用的python工具庫(kù)(小結(jié))
- 推薦11個(gè)實(shí)用Python庫(kù)
- Python模塊匯總(常用第三方庫(kù))
- 學(xué)習(xí)Python中一些實(shí)用的庫(kù)