python能夠幫助咱們完成不少工做,老K根據適用領域,爲各位整理了最經常使用的18個開源庫,各位能夠根據本身的業務方向,針對性地進行學習和研究。css
一個健全的計算機語言,必定會涉及到http請求以及網站開發相關的功能,python也是這樣的。
html
requests
能幫助你輕鬆實現http
請求,極易上手,是目前github
標星最多的python
項目之一。若是你的工做涉及模擬http
請求,requests
是你必需要掌握的python
庫之一。https://pypi.org/project/requests/
python
django
對於須要網站開發的python
工程師來講十分重要,包括instagram和tinder這樣的網站,最初也是經過django
創建起他們的網站的。Django
是一個徹底用python
實現的後端web框架,它甚至能夠和其它語言框架對接。它擁有大量web開發所須要的功能。經過Django
,你能夠很快實現你本身的企業級網站。https://pypi.org/project/Django/
git
Flask
被視爲django
的競爭對手。Flask
也是用於開發網站的後端web框架,它的工做方式和Django
類似,但它設置起來更便捷,而且沒有django
那麼複雜的功能和工具。Flask
會成爲您的選項。https://pypi.org/project/Flask/
github
twisted
能夠用於在線遊戲開發的工具,它是一個事件驅動的網絡編程框架。twisted
https://twistedmatrix.com/trac/
web
beautifulsoup4
是一個html
解析工具。若是你的方向是一個爬蟲工程師,須要獲取html
數據,beautifulsoup4
必定能夠給到您幫助。https://pypi.org/project/beautifulsoup4/
算法
selenium
能夠實現網站上的一些自動化操做。它能夠模擬瀏覽器的點擊按鈕、輸入文本等行爲。開發者的初衷是用於測試網站功能,但如今也被普遍用於html
動態網頁的數據爬取。selenium
是一個絕對值得你花時間去研究的開源庫。https://selenium-python.readthedocs.io/
django
python的流行源於數據科學的流行,數據科學家經過python的開源庫,讓研究工做變得更加輕鬆。
編程
numpy
是python
在數據科學應用領域裏的基礎。它容許對數組操做,這使得諸如矩陣、甚至一些三維、四維、五維的數據運算變得容器。numpy
的不少算法是用C語言實現的,這讓您的數據運算比其它模塊快得多。https://numpy.org/
flask
pandas
做爲數據處理工具,有着至關強的可操做性和可讀性,尤爲當你使用JupyterNotbook
的時候,而且它基本能夠完成一切你能想到的數據處理操做。pandas
已經成爲了數據科學家的一項必備技能了。https://pandas.pydata.org/
matplotlib
很是適合用於數據可視化的任務,它對製做圖表、分析數據,甚至機器學習建模上都有很大幫助,好比將損失函數可視化。https://matplotlib.org/
nltk
是天然語言工具包,它能幫您方便地處理文本數據,並進行學習分析。nltk
能夠很好地幫助到您。https://www.nltk.org/
opencv
是一款功能強大的圖像及視頻數據處理工具,咱們能夠用它完成諸如特徵檢測之類的任務,它在人臉識別、物件檢測有很大的應用價值。opencv
中內置了一些機器學習的模型,可讓你更快完成圖像數據處理以及繪製的工做。https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html
python進入公衆視野是源自於AI和機器學習在工業界的應用。愈來愈多的人由於學習AI和機器學習,而開始學習python這門計算機語言。
tensorflow
是迄今最強大的AI開源庫,它由google
維護和支持。它能實現一些很是複雜的數學模型,好比深度神經網絡模型、卷積神經網絡模型等。tensorflow
有着健全的說明指南,你能夠在tensorflow
官網上學習如何開始你的AI項目。https://www.tensorflow.org/
Keras
是一個在python
上運行很好的開源庫。相對於tensorflow
,它更易於上手,它讓製做模型和執行操做變得更加容易。Keras
也是Kaggle
競賽中最常被使用的深度學習框架之一,致力於AI機器學習的你,必定不能錯過它。https://keras.io/
pytorch
也是諸多領先的深度學習框架之一。不過相比tensorflow
,pytorch
的應用並無那麼普遍。但做爲一個以機器學習行業爲目標的同窗,pytorch
絕對值得一試。https://pytorch.org/
sklearn
是scikit-learn
的縮寫,它絕對沒有前幾個模塊那麼強大,但勝在它比較輕量,它能幫咱們更快實現一些簡單的算法,諸如聚類算法、迴歸問題、支持向量機等。tensorflow
實現,但若是你須要一個輕量級的庫來學習機器學習,做爲入門,sklearn
是一個很好的選擇。https://scikit-learn.org/stable/
圖形用戶界面不是Python的強項,但在這個領域,你仍然能找到不少值得嘗試的庫。
Kivy
是一個良好的應用程序構建框架。它能跨平臺運行,用Kivy
構建的程序能夠在Linux
、Mac
、Windows
、iOS
以及Android
上順暢地運行。它便於使用,當你須要開發一個全平臺運行的程序時,能夠了解一下kivy
。https://kivy.org/#home
pyqt5
能夠說是諸多python
下最好的GUI
工具。使用靈活,甚至可使用css
樣式來設置你的應用程序界面。Anaconda
內置的spyder
IDE其實就是用pyqt5
實現的。pyqt5
是你不得不學會的python
開源庫。https://pypi.org/project/PyQt5/
tkinter
是一款較早的GUI
工具,它和pyqt5
有點像。對於初學者來講,tkinter
較容易上手。https://wiki.python.org/moin/TkInter
pygame
是一款用於遊戲開發的工具。若是你想開發一款屬於本身的簡單2D遊戲或者其它小工具,pygame
絕對能夠幫你實現你的想法。Pygame
也是你完成強化學習任務時,能夠仰仗的工具之一。pygame
,絕對會讓你的python
開發之旅變得有趣而又多彩。https://www.pygame.org/docs/
我的能力有限,推薦可能主觀,若是有其它值得推薦卻遺漏的,歡迎您留言告訴我。
[1]Tech With Tim.Top 18 Most Useful Python Modules.[EB/OL]https://www.youtube.com/watch?v=Vi9Y9AL13Rc