python常用的库有哪些餐厅_这十个Python常用库,学习Python的你必须要知道!
想知道Python取得如此巨大成功的原因嗎?只要看看Python提供的大量庫就知道了
包括原生庫和第三方庫。不過,有這么多Python庫,有些庫得不到應(yīng)有的關(guān)注也就不足為奇了。此外,只在一個領(lǐng)域里的工作的人并不知道另一個領(lǐng)域里有什么好東西,不知道其他領(lǐng)域的東西能產(chǎn)出什么有用的價值。
下面給大家列出10個你可能忽略,但絕對值得注意的Python庫
這些工具的用途非常廣泛, 簡化了從文件系統(tǒng)訪問、數(shù)據(jù)庫編程、云服務(wù)到構(gòu)建輕量級web應(yīng)用程序、創(chuàng)建gui、圖像工具、Excel和Word文件等等的事情的工作復(fù)雜度。有些庫是眾所周知的,有些則不太為人所知,但是所有這些Python庫都應(yīng)該在各位的工具箱中占有一席之地。
1. Arrow
Arrow: 讓你更方便地處理日期和時間。
為什么要使用Arrow:還記得我們之前講過的日期計算嗎?實際上那是一個簡單的計算教程,思考一下,如果我們想要切換時區(qū)怎么辦、更加靈活地日期格式化怎么做?即便是像python這么好用的工具,如果你只用原生庫,你也得折騰上一陣子。現(xiàn)在我們有了更好的選擇:Arrow.
Arrow擁有四大優(yōu)勢。首先,箭頭是Python的datetime模塊的一個替代品,這意味著像.now()和.utcnow()這樣的公共函數(shù)調(diào)用可以正常工作。第二,Arrow提供了一些通用的方法,比如轉(zhuǎn)換時區(qū)。第三,Arrow提供了“人性化”的日期/時間信息,比如能夠毫不費力地說出“一小時前”或“兩小時后”發(fā)生的事情(就如同我們在暑期余額里講的那樣)。第四,Arrow可以輕松地本地化日期/時間信息。
沒有Python軟件工具和學(xué)習(xí)資料的小伙伴可以點擊下方鏈接自行獲取,入門到實戰(zhàn)你想要得都可以獲取到
下面是Arrow使用的三個例子:
2. Behold
Behold: 強大的代碼調(diào)試工具。
如果你只是使用print進(jìn)行項目的調(diào)試,你會發(fā)現(xiàn)在大型項目的時候,這一招根本行不通
因為大型項目的數(shù)據(jù)流動非常復(fù)雜,你必須跟蹤一個變量的流動才行,這時候你可能會出現(xiàn)每隔幾句就寫一個print的尷尬情況。這時候Behold就非常有優(yōu)勢了,它具有搜索、篩選、排序功能,而且能跨模塊地展示數(shù)據(jù)流向。
3. Black
black:使用嚴(yán)格的規(guī)則格式化Python代碼。
black是一個毫不妥協(xié)的格式化工具,它檢測到不符合規(guī)范的代碼風(fēng)格直接給你全部格式化了,不需要你自己確定,非常適合代碼風(fēng)格紊亂的人群進(jìn)行自我糾正
使用也非常簡單, CMD/Terminal安裝black:
pip install black
然后同樣,CMD/Terminal進(jìn)入到你的Python文件的文件夾里,然后輸入:
black 你的文件名.py
即可格式化該文件里的代碼。
4. Bottle
**Bottle:輕量級網(wǎng)站/api開發(fā)工具
當(dāng)你想要構(gòu)建一個快速的RESTful API或者使用web框架的基本框架來構(gòu)建一個應(yīng)用程序時,Bottle完全就夠用了。路由、模板、請求和響應(yīng)、支持許多種請求協(xié)議,甚至如websockets之類的高級功能都支持。同樣,啟動所需的工作量也很小,而且當(dāng)需要更高級的功能時,Bottle可以很好地擴展,非常優(yōu)秀
5. Click
Click: 讓你快速地為Python應(yīng)用程序構(gòu)建命令行界面。
在沒有用click之前,我們是如何獲取用戶輸入的? 是用 val = input(xxx) 這樣的形式吧?雖然也非常簡單,但是當(dāng)你想要給它設(shè)定默認(rèn)值的時候就麻煩了
然而click可以讓你消去這樣的煩惱:
我的天,簡直是上天給予Python程序員的禮物啊。更多的功能請閱讀官方文檔,比如它還能設(shè)定輸入?yún)?shù):
運行結(jié)果
6. Nuitka
Nuitka: 將Python編譯成C++級的可執(zhí)行文件。
重點是C++級的應(yīng)用,速度快!速度快!速度快!盡管Cython也能夠把Python編譯成C,但是Cython僅僅關(guān)注數(shù)學(xué)和統(tǒng)計應(yīng)用程序,而Nuitka可以按原樣使用任何Python程序編譯為C,生成單文件的可執(zhí)行文件。雖然目前還在早期階段,但是可以預(yù)想到它的未來是多么的輝煌
7. Numba
Numba: 有選擇地加速數(shù)學(xué)計算。
這是我以前夢寐以求的功能,我們知道Numpy通過在Python接口中封裝高速的C庫進(jìn)行工作,Cython將某些用戶選擇的類型編譯為C,但是我們發(fā)現(xiàn)這些東西用起來都不是很順手,感覺“命運 ” 不是由我掌控的。有了Numba之后,我們可以對函數(shù)進(jìn)行加速
你要做的僅僅是在函數(shù)上方加一個裝飾器,這可真的是非常舒服:
8. Openpyxl
openpyxl: 讀取,寫入和操作Excel文件。
還記得我們的日歷文章嗎?我們在那篇文章里就用到了openpyxl這個庫,實質(zhì)上,用于操作Excel的不止有這個庫可以做到,但是它有一些獨特的功能,比如,寫成最新的文件格式xlsx,而且它對文件大小是沒有限制的,就這兩個功能已經(jīng)完爆xlwt了。當(dāng)然,它在速度上是比不過xlwt的,這就需要各位權(quán)衡使用了
9. Peewee
peewee: 支持sqlite, Mysql及PostgreSQL的小型ORM(方便寫數(shù)據(jù)庫的)。
這是我在python上接觸的第一個ORM,不是所有人都喜歡用這個玩意兒,但是對于那些不喜歡接觸SQL語句開發(fā)的人來說,這玩意兒簡直是寶物啊
peewee非常易于構(gòu)建、連接、操作數(shù)據(jù)庫,然后內(nèi)置了許多的查詢操作功能。不過需要注意的是,peewee 3.x 并不完全向舊版本兼容。
10. PyFilesystem
PyFilesystem: 簡化了文件、目錄的處理方法,支持任何文件系統(tǒng)的操作,大幅度提高編程效率。
你的開發(fā)過程中,有沒有為這樣的事情憂愁過:打開一個不存在文件夾里的文件(新建),確定某個目錄里是否存在某個文件,確定是否存在某個目錄
當(dāng)然如果你非常熟練os和io模塊,你會覺得這些事情簡直是so easy. 但是對于一些不熟悉這兩個模塊的語句的同學(xué),這可得Google一下。幸好,現(xiàn)在有了PyFilesystem, 我們的編程生活能夠快樂許多。它能支持任何文件系統(tǒng)的操作,而且提供了許多實用的函數(shù),比如說查看當(dāng)前目錄下的文件:
顯示目錄結(jié)構(gòu)樹
當(dāng)然還有更多的功能,請閱讀官方文檔
原作者:Python實用寶典
原出處(每個使用Python的人都應(yīng)該指導(dǎo)的10個Python庫)
總結(jié)
以上是生活随笔為你收集整理的python常用的库有哪些餐厅_这十个Python常用库,学习Python的你必须要知道!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux mysql 5.6.23_m
- 下一篇: 深度理解java jvm,深度理解JVM