這十個Python常用庫,學習Python的你必須要知道!


 

 

,包括原生庫和第三方庫。不過,有這么多Python庫,有些庫得不到應有的關注也就不足為奇了。

注意:很多人學Python過程中會遇到各種煩惱問題,沒有人幫答疑。為此小編建了個Python全棧免費答疑交流.裙 :一久武其而而流一思(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決里面還有最新Python教程項目可拿,,一起相互監督共同進步!

下面給大家列出10個你可能忽略,但絕對值得注意的Python庫

 

,這些工具的用途非常廣泛, 簡化了從文件系統訪問、數據庫編程、雲服務到構建輕量級web應用程序、創建gui、圖像工具、Excel和Word文件等等的事情的工作復雜度。有些庫是眾所周知的,有些則不太為人所知,但是所有這些Python庫都應該在各位的工具箱中占有一席之地。

1. Arrow

Arrow: 讓你更方便地處理日期和時間。

為什么要使用Arrow:還記得我們之前講過的日期計算嗎?實際上那是一個簡單的計算教程,思考一下,如果我們想要切換時區怎么辦、更加靈活地日期格式化怎么做?即便是像python這么好用的工具,如果你只用原生庫,你也得折騰上一陣子。現在我們有了更好的選擇:Arrow.

Arrow擁有四大優勢。首先,箭頭是Python的datetime模塊的一個替代品,這意味着像.now()和.utcnow()這樣的公共函數調用可以正常工作。第二,Arrow提供了一些通用的方法,比如轉換時區。第三,Arrow提供了“人性化”的日期/時間信息,比如能夠毫不費力地說出“一小時前”或“兩小時后”發生的事情(就如同我們在暑期余額里講的那樣)。第四,Arrow可以輕松地本地化日期/時間信息。

下面是Arrow使用的三個例子:

 

2. Behold

Behold: 強大的代碼調試工具。

如果你只是使用print進行項目的調試,你會發現在大型項目的時候,這一招根本行不通

 

因為大型項目的數據流動非常復雜,你必須跟蹤一個變量的流動才行,這時候你可能會出現每隔幾句就寫一個print的尷尬情況。這時候Behold就非常有優勢了,它具有搜索、篩選、排序功能,而且能跨模塊地展示數據流向。

3. Black

black:使用嚴格的規則格式化Python代碼。

black是一個毫不妥協的格式化工具,它檢測到不符合規范的代碼風格直接給你全部格式化了,不需要你自己確定,非常適合代碼風格紊亂的人群進行自我糾正

 

使用也非常簡單, CMD/Terminal安裝black:

pip install black

然后同樣,CMD/Terminal進入到你的Python文件的文件夾里,然后輸入:

black 你的文件名.py

即可格式化該文件里的代碼。

4. Bottle

**Bottle:輕量級網站/api開發工具

當你想要構建一個快速的RESTful API或者使用web框架的基本框架來構建一個應用程序時,Bottle完全就夠用了。路由、模板、請求和響應、支持許多種請求協議,甚至如websockets之類的高級功能都支持。同樣,啟動所需的工作量也很小,而且當需要更高級的功能時,Bottle可以很好地擴展,非常優秀

 

5. Click

Click: 讓你快速地為Python應用程序構建命令行界面。

在沒有用click之前,我們是如何獲取用戶輸入的? 是用 val = input(xxx) 這樣的形式吧?雖然也非常簡單,但是當你想要給它設定默認值的時候就麻煩了

 

然而click可以讓你消去這樣的煩惱:

 

我的天,簡直是上天給予Python程序員的禮物啊。更多的功能請閱讀官方文檔,比如它還能設定輸入參數:

 

運行結果

 

6. Nuitka

Nuitka: 將Python編譯成C++級的可執行文件。

重點是C++級的應用,速度快!速度快!速度快!盡管Cython也能夠把Python編譯成C,但是Cython僅僅關注數學和統計應用程序,而Nuitka可以按原樣使用任何Python程序編譯為C,生成單文件的可執行文件。雖然目前還在早期階段,但是可以預想到它的未來是多么的輝煌

 

7. Numba

Numba: 有選擇地加速數學計算。

這是我以前夢寐以求的功能,我們知道Numpy通過在Python接口中封裝高速的C庫進行工作,Cython將某些用戶選擇的類型編譯為C,但是我們發現這些東西用起來都不是很順手,感覺“命運 ” 不是由我掌控的。有了Numba之后,我們可以對函數進行加速

 

你要做的僅僅是在函數上方加一個裝飾器,這可真的是非常舒服:

 

8. Openpyxl

openpyxl: 讀取,寫入和操作Excel文件。

還記得我們的日歷文章嗎?我們在那篇文章里就用到了openpyxl這個庫,實質上,用於操作Excel的不止有這個庫可以做到,但是它有一些獨特的功能,比如,寫成最新的文件格式xlsx,而且它對文件大小是沒有限制的,就這兩個功能已經完爆xlwt了。當然,它在速度上是比不過xlwt的,這就需要各位權衡使用了

 

9. Peewee

peewee: 支持sqlite, Mysql及PostgreSQL的小型ORM(方便寫數據庫的)。

這是我在python上接觸的第一個ORM,不是所有人都喜歡用這個玩意兒,但是對於那些不喜歡接觸SQL語句開發的人來說,這玩意兒簡直是寶物啊

 

peewee非常易於構建、連接、操作數據庫,然后內置了許多的查詢操作功能。不過需要注意的是,peewee 3.x 並不完全向舊版本兼容。

10. PyFilesystem

PyFilesystem: 簡化了文件、目錄的處理方法,支持任何文件系統的操作,大幅度提高編程效率。

你的開發過程中,有沒有為這樣的事情憂愁過:打開一個不存在文件夾里的文件(新建),確定某個目錄里是否存在某個文件,確定是否存在某個目錄

 

當然如果你非常熟練os和io模塊,你會覺得這些事情簡直是so easy. 但是對於一些不熟悉這兩個模塊的語句的同學,這可得Google一下。幸好,現在有了PyFilesystem, 我們的編程生活能夠快樂許多。它能支持任何文件系統的操作,而且提供了許多實用的函數,比如說查看當前目錄下的文件:

 

顯示目錄結構樹

 

當然還有更多的功能,請閱讀官方文檔

 注意:很多人學Python過程中會遇到各種煩惱問題,沒有人幫答疑。為此小編建了個Python全棧免費答疑交流.裙 :一久武其而而流一思(數字的諧音)轉換下可以找到了,不懂的問題有老司機解決里面還有最新Python教程項目可拿,,一起相互監督共同進步!

本文的文字及圖片來源於網絡加上自己的想法,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯系我們以作處理。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM