1. 程式人生 > >10個頂級Python實用庫,推薦你試試!

10個頂級Python實用庫,推薦你試試!

為什麼我喜歡Python?對於初學者來說,這是一種簡單易學的程式語言,另一個原因:大量開箱即用的第三方庫,正是23萬個由使用者提供的軟體包使得Python真正強大和流行。 在本文中,我挑選了15個最有用的軟體包,介紹它們的功能和特點。 ## 1. Dash Dash 是一個用於構建基於 Web 的應用程式的 Python 庫,無需 JavaScript 。 Dash 同時也是用於建立分析 Web 應用程式的使用者介面庫。那些使用 Python 進行資料分析、資料探勘、視覺化、建模、儀器控制和報告的人可以立即使用 Dash 。 ![](https://tva1.sinaimg.cn/large/008eGmZEgy1go0oiadm1bj31bc0u0arw.jpg) Dash 建立在 Plotly.js、React 和 Flask 之上,將現代 UI 元素(如下拉列表、滑塊和圖形)與你的分析 Python 程式碼相結合。 專案地址: ``` https://github.com/plotly/dash ``` ## 2. Pillow Pillow專門用於處理影象,您可以使用該庫建立縮圖,在檔案格式之間轉換,旋轉,應用濾鏡,顯示影象等等。如果您需要對許多影象執行批量操作,這是理想的選擇。 為了快速瞭解它,看以下程式碼示例(載入並渲染圖片): ![](https://tva1.sinaimg.cn/large/008eGmZEgy1go0om1t2bzj310w0760tw.jpg) 幫助文件: ``` https://pillow-cn.readthedocs.io/zh_CN/latest/ https://pillow.readthedocs.io/en/stable/ ``` ## 3. Colorama Colorama允許你在終端使用顏色,非常適合Python指令碼,文件簡短而有趣,可以在Colorama PyPI頁面上找到。 ![](https://tva1.sinaimg.cn/large/008eGmZEgy1go0onj2twfj30id09xaby.jpg) 專案地址: ``` https://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://tva1.sinaimg.cn/large/008eGmZEgy1go0otqak9zj30np03z3ym.jpg) 專案地址: ``` https://github.com/simplejson/simplejson ``` Simplejson比json快很多,因為它用C實現一些關鍵部分。除非您正在處理數百萬個JSON檔案,否則您不會對這種速度感興趣。 ## 6. Emoji Emoji庫非常有意思,但並非每個人都喜歡錶情包,分析視角媒體資料時,Emoji包非常有用。 ![](https://tva1.sinaimg.cn/large/008eGmZEgy1go0oweohk4j312y0py4qp.jpg) 專案地址: ``` 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動畫形式進行一些演示: ![](https://warehouse-camo.ingress.cmh1.psfhosted.org/2d537ee9f78b801c46be1c6d631cc2232c760542/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f7471646d2f696d672f6d61737465722f7471646d2e676966) ## 8. Homeassistant home assistant是一個執行在python 3上的家庭自動化平臺。它能夠在家裡對所有裝置進行跟蹤和控制,為自動化控制提供了一個平臺。 ![](https://tva1.sinaimg.cn/large/008eGmZEgy1go0p5s7bwrj30nw0m1whu.jpg) 它現在控制著我們房屋的大部分。我使用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 庫的基礎上開發。 ![](https://tva1.sinaimg.cn/large/008eGmZEgy1go0pdopyxuj308w08cmxz.jpg) 允許你在 Python 程式中建立功能豐富的遊戲和多媒體程式,旨在提供對以下內容的低階介面: - 音訊 - 鍵盤 - 滑鼠 - 遊戲杆 - 基於OpenGL和Direct3D的圖形硬體 Pygame具有高度的可移植性,幾乎可以在所有平臺和作業系統上執行。儘管它具有完善的遊戲引擎,但您也可以使用此庫直接從Python指令碼播放MP3