你必須知道的18個Python開源庫

image.png

人生苦短,我用Python

image.png

python能夠幫助咱們完成不少工做,老K根據適用領域,爲各位整理了最經常使用的18個開源庫,各位能夠根據本身的業務方向,針對性地進行學習和研究。css

網站開發

一個健全的計算機語言,必定會涉及到http請求以及網站開發相關的功能,python也是這樣的。html

1. requests

image.png

  • requests能幫助你輕鬆實現http請求,極易上手,是目前github標星最多的python項目之一。若是你的工做涉及模擬http請求,requests是你必需要掌握的python庫之一。

https://pypi.org/project/requests/python

2. django

image.png

  • django對於須要網站開發的python工程師來講十分重要,包括instagram和tinder這樣的網站,最初也是經過django創建起他們的網站的。
    Django是一個徹底用python實現的後端web框架,它甚至能夠和其它語言框架對接。它擁有大量web開發所須要的功能。經過Django,你能夠很快實現你本身的企業級網站。

https://pypi.org/project/Django/git

3. flask

image.png

  • Flask被視爲django的競爭對手。Flask也是用於開發網站的後端web框架,它的工做方式和Django類似,但它設置起來更便捷,而且沒有django那麼複雜的功能和工具。
    因此,若是您僅僅是須要開發一個輕量級的網站,不包括諸如身份驗證等功能,那Flask會成爲您的選項。

https://pypi.org/project/Flask/github

4. twisted

image.png

  • twisted能夠用於在線遊戲開發的工具,它是一個事件驅動的網絡編程框架。
    若是你正在嘗試在線互動或實時響應相關的功能,你能夠研究一下twisted

https://twistedmatrix.com/trac/web

5. beautifulsoup4

image.png

  • beautifulsoup4是一個html解析工具。若是你的方向是一個爬蟲工程師,須要獲取html數據,beautifulsoup4必定能夠給到您幫助。

https://pypi.org/project/beautifulsoup4/算法

6. selenium

image.png

  • selenium能夠實現網站上的一些自動化操做。它能夠模擬瀏覽器的點擊按鈕、輸入文本等行爲。開發者的初衷是用於測試網站功能,但如今也被普遍用於html動態網頁的數據爬取。
    若是你是一個網絡工程師,selenium是一個絕對值得你花時間去研究的開源庫。

https://selenium-python.readthedocs.io/django


數據科學

python的流行源於數據科學的流行,數據科學家經過python的開源庫,讓研究工做變得更加輕鬆。編程

7. numpy

image.png

  • numpypython在數據科學應用領域裏的基礎。它容許對數組操做,這使得諸如矩陣、甚至一些三維、四維、五維的數據運算變得容器。
    numpy的不少算法是用C語言實現的,這讓您的數據運算比其它模塊快得多。

https://numpy.org/flask

8. pandas

image.png

  • pandas做爲數據處理工具,有着至關強的可操做性和可讀性,尤爲當你使用JupyterNotbook的時候,而且它基本能夠完成一切你能想到的數據處理操做。
    如今,pandas已經成爲了數據科學家的一項必備技能了。

https://pandas.pydata.org/

9. matplotlib

image.png

  • matplotlib很是適合用於數據可視化的任務,它對製做圖表、分析數據,甚至機器學習建模上都有很大幫助,好比將損失函數可視化。

https://matplotlib.org/

10. nltk

image.png

  • nltk是天然語言工具包,它能幫您方便地處理文本數據,並進行學習分析。
    若是你有文本數據須要處理,nltk能夠很好地幫助到您。

https://www.nltk.org/

11. opencv

image.png

  • opencv是一款功能強大的圖像及視頻數據處理工具,咱們能夠用它完成諸如特徵檢測之類的任務,它在人臉識別、物件檢測有很大的應用價值。
    opencv中內置了一些機器學習的模型,可讓你更快完成圖像數據處理以及繪製的工做。

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html


AI機器學習

python進入公衆視野是源自於AI和機器學習在工業界的應用。愈來愈多的人由於學習AI和機器學習,而開始學習python這門計算機語言。

12. tensorflow

image.png

  • tensorflow是迄今最強大的AI開源庫,它由google維護和支持。它能實現一些很是複雜的數學模型,好比深度神經網絡模型、卷積神經網絡模型等。
    tensorflow有着健全的說明指南,你能夠在tensorflow官網上學習如何開始你的AI項目。

https://www.tensorflow.org/

13. keras

image.png

  • Keras是一個在python上運行很好的開源庫。相對於tensorflow,它更易於上手,它讓製做模型和執行操做變得更加容易。
    Keras也是Kaggle競賽中最常被使用的深度學習框架之一,致力於AI機器學習的你,必定不能錯過它。

https://keras.io/

14. pytorch

image.png

  • pytorch也是諸多領先的深度學習框架之一。不過相比tensorflowpytorch的應用並無那麼普遍。但做爲一個以機器學習行業爲目標的同窗,pytorch絕對值得一試。

https://pytorch.org/

15. sklearn

image.png

  • sklearnscikit-learn的縮寫,它絕對沒有前幾個模塊那麼強大,但勝在它比較輕量,它能幫咱們更快實現一些簡單的算法,諸如聚類算法、迴歸問題、支持向量機等。
    以上這些功能天然能夠用tensorflow實現,但若是你須要一個輕量級的庫來學習機器學習,做爲入門,sklearn是一個很好的選擇。

https://scikit-learn.org/stable/


圖形用戶界面(GUI)

圖形用戶界面不是Python的強項,但在這個領域,你仍然能找到不少值得嘗試的庫。

16. Kivy

image.png

  • Kivy是一個良好的應用程序構建框架。它能跨平臺運行,用Kivy構建的程序能夠在LinuxMacWindowsiOS以及Android上順暢地運行。它便於使用,當你須要開發一個全平臺運行的程序時,能夠了解一下kivy

https://kivy.org/#home

17. pyqt5

image.png

  • pyqt5能夠說是諸多python下最好的GUI工具。使用靈活,甚至可使用css樣式來設置你的應用程序界面。Anaconda內置的spyderIDE其實就是用pyqt5實現的。
    若是你想將您的代碼構建成應用程序,pyqt5是你不得不學會的python開源庫。

https://pypi.org/project/PyQt5/

18. tkinter

image.png

  • tkinter是一款較早的GUI工具,它和pyqt5有點像。對於初學者來講,tkinter較容易上手。

https://wiki.python.org/moin/TkInter


其它

ex. pygame

image.png

  • 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

相關文章
相關標籤/搜索