Python程式語言的一大優勢,就在於其豐富的第三方庫。經過過去一年的時間,Python的世界中又湧現出了哪些優秀的第三方庫呢?在本文中,我將給大家介紹2015年新出現的十大Python開發庫。這裡比較的範圍,指的是在2015新開發或建立的第三方庫。
1. Keras
Keras是一個高度模組化的神經網路庫,用Python語言編寫,可以基於TensorFlow或Theano框架執行。Keras的開發者在設計時,就注重支援快速實驗這一特性。使用Keras庫,可以極大地縮短從想法到實現之間的時間。
2. yapf
yapf是一個Python檔案程式碼格式化工具,但與其他類似工具採取了不同的演算法。它脫胎於由 Daniel Jasper 開發的 clang-format。大體上來說,這個演算法獲取程式碼,然後把初始程式碼重新編排,即便初始程式碼並沒有違背規範,也可使其達到遵循程式碼規範的最佳格式。這個理念和 Go 語言中的 gofmt 工具相似,終結關於格式的各種“聖戰”。如果一個專案的程式碼庫,無論何時修改,通過 YAPF 優化後,程式碼風格可統一,在每次程式碼審查中,也就沒有必要爭論風格了。
YAPF 的終極目標是生成和遵循程式碼規範的程式設計師寫出的一樣的程式碼。可幫你減少維護程式碼的苦差事。
3. tqdm
tqdm(讀音:taqadum, تقدّم)在阿拉伯語中的意思是進展。tqdm可以在長迴圈中新增一個進度提示資訊,使用者只需要封裝任意的迭代器 tqdm(iterator),是一個快速、擴充套件性強的進度條工具庫。
4. pyvim
用Python語言實現的Vim編輯器。
5. snake
Snake用來取代Vim的VimScript進行Vim的外掛程式設計,藉由Python的強大,讓外掛程式設計如虎添翼。
6. reverse-geocoder
用Python實現的反向地理資訊編碼器(geocoder),效能強,可離線使用。
7. pyxley
使用Flask和React.js,快速開發資料皮膚(dashboard。在網頁上顯示一個資料皮膚是與人分享資料科學發現的最直觀方法。對R語言來說有Shiny來簡化資料科學家開發網頁的工作,而Pyxley就相當於Python版的Shiny。使用Pyxley不光不用寫HTML、CSS,你還可以加入自己的JavaScript來進行定製。
8. pupy
Pupy是一個遠端管理工具(Administration Tool),開源並且支援多個平臺。Pupy還內建了一個Python直譯器,可以從記憶體中載入Python包,訪問遠端Python物件。
9. tomorrow
Tomorrow為Python 2.7中的非同步程式碼提供了神奇的裝飾器語法實現。示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import time import requests from tomorrow import threads @threads(5) def download(url): return requests.get(url) if __name__ == "__main__": start = time.time() responses = [download(url) for url in urls] html = [response.text for response in responses] end = time.time() print "Time: %f seconds" % (end - start) |
10. ibis
Ibis是Cloudera Labs推出的一個新專案,目前還是預覽版。它試圖解決的就是資料集規模的問題,但對使用者提供的確是單機上Python的體驗,而且能夠與現有的Python資料生態圈(Pandas、Scikit-learn、Numpy)進行整合。未來它還計劃加入與機器學習和高階分析整合的功能。