10個頂級Python實用庫推薦
為什麼我喜歡Python?對於初學者來說,這是一種簡單易學的編程語言,另一個原因:大量開箱即用的第三方庫,正是23萬個由用戶提供的軟件包使得Python真正強大和流行。
在本文中,我挑選瞭15個最有用的軟件包,介紹它們的功能和特點。
1. Dash
Dash 是一個用於構建基於 Web 的應用程序的 Python 庫,無需 JavaScript 。
Dash 同時也是用於創建分析 Web 應用程序的用戶界面庫。那些使用 Python 進行數據分析、數據挖掘、可視化、建模、儀器控制和報告的人可以立即使用 Dash 。
Dash 建立在 Plotly.js、React 和 Flask 之上,將現代 UI 元素(如下拉列表、滑塊和圖形)與你的分析 Python 代碼相結合。
項目地址:
https://github.com/plotly/dash
2. Pillow
Pillow專門用於處理圖像,您可以使用該庫創建縮略圖,在文件格式之間轉換,旋轉,應用濾鏡,顯示圖像等等。如果您需要對許多圖像執行批量操作,這是理想的選擇。
為瞭快速瞭解它,看以下代碼示例(加載並渲染圖片):
幫助文檔:
https://pillow-cn.readthedocs.io/zh_CN/latest/ https://pillow.readthedocs.io/en/stable/
3. Colorama
Colorama允許你在終端使用顏色,非常適合Python腳本,文檔簡短而有趣,可以在Colorama PyPI頁面上找到。
項目地址:
github.com/tartley/colorama
4. JmesPath
在Python中使用JSON非常容易,因為JSON在Python字典上的映射非常好。此外,Python帶有自己出色的json庫,用於解析和創建JSON。對我來說,這是它最好的功能之一。如果我需要使用JSON,可以考慮使用Python。
JMESPath使Python處理JSON更加容易,它允許您明確的地指定如何從JSON文檔中提取元素。以下是一些基本示例,可讓您對它的功能有所瞭解:
>>> import jmespath >>> path = jmespath.search('foo.bar', {'foo': {'bar': 'baz'}}) 'baz'
項目地址:
https://github.com/jmespath/jmespath.py
5. Simplejson
Python中的本地json模塊有什麼問題?沒有!實際上,Python的json是simplejson。意思是,Python采用瞭simplejson的一個版本,並將其合並到每個發行版中。但是使用simplejson具有一些優點:
- 它適用於更多Python版本。
- 它比Python隨附的版本更新頻率更高。
- 它具有用C編寫的(可選)部分,因此非常快速。
由於這些事實,您經常會在使用JSON的腳本中看到以下內容:
項目地址:
https://github.com/simplejson/simplejson
Simplejson比json快很多,因為它用C實現一些關鍵部分。除非您正在處理數百萬個JSON文件,否則您不會對這種速度感興趣。
6. Emoji
Emoji庫非常有意思,但並非每個人都喜歡表情包,分析視角媒體數據時,Emoji包非常有用。
項目地址:
https://github.com/carpedm20/emoji/
7. 進度條:progress和tqdm
這裡有點作弊,因為這是兩個包,但忽略其中之一是不公平的。
您可以創建自己的進度條,這也許很有趣,但是使用progress或tqdm程序包更快,更不容易出錯。
progress
借助這個軟件包,您可以輕松創建進度條:
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動畫形式進行一些演示:
8. Homeassistant
home assistant是一個運行在python 3上的傢庭自動化平臺。它能夠在傢裡對所有設備進行跟蹤和控制,為自動化控制提供瞭一個平臺。
它現在控制著我們房屋的大部分。我使用Home Assistant將房子中的所有系統捆綁在一起。盡管它確實是一個完整的應用程序,但是您也可以將其安裝為Python PyPI軟件包。
- 大多數燈具都是自動化的,百葉窗也是如此。
- 監視我們的天然氣用量,電力用量和產量(太陽能電池板)。
- 可以跟蹤大多數電話的位置,並在進入一個區域時開始操作,例如當我回傢時打開車庫燈。
- 它還可以控制我們所有的娛樂系統,例如三星電視和Sonos揚聲器。
- 它能夠自動發現網絡上的大多數設備,因此上手起來非常容易。
項目地址:
https://github.com/home-assistant/core
9. Python-dateutil
python-dateutil模塊提供瞭對標準datetime模塊的強大擴展。
您可以使用此庫做很多很棒的事情。比如計算相對增量(下個月,明年,下周一,該月的最後一周等)和兩個給定日期對象之間的相對增量。
項目地址:
https://github.com/dateutil/dateutil/
10. Pygame
Pygame 是一組用來開發遊戲軟件的 Python 程序模塊,基於 SDL 庫的基礎上開發
允許你在 Python 程序中創建功能豐富的遊戲和多媒體程序,旨在提供對以下內容的低級接口:
- 音頻
- 鍵盤
- 鼠標
- 遊戲桿
- 基於OpenGL和Direct3D的圖形硬件
Pygame具有高度的可移植性,幾乎可以在所有平臺和操作系統上運行。盡管它具有完善的遊戲引擎,但您也可以使用此庫直接從Python腳本播放MP3文件。
以上就是10個頂級Python實用庫推薦的詳細內容,更多關於Python實用庫推薦的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Python 高級庫15 個讓新手愛不釋手(推薦)
- Python的Tqdm模塊實現進度條配置
- Python實現實時顯示進度條的六種方法
- Python制作進度條的幾種方法
- Python制作進度條的四種方法總結