Python模組彙總(常用第三方庫)
模組
定義
計算機在開發過程中,程式碼越寫越多,也就越難以維護,所以為了編寫可維護的程式碼,我們會把函式進行分組,放在不同的檔案裡。在python裡,一個.py檔案就是一個模組
優點:
提高程式碼的可維護性。
提高程式碼的複用,當模組完成時就可以在其他程式碼中呼叫
引用其他模組,包含python內建模組和其他第三方模組
避免函式名和變數名等名稱衝突
Python語言生態
Python語言提供超過15萬個第三方庫,Python庫之間廣泛聯絡、逐層封裝。
使用pip安裝
Python社群:https://pypi.org/
python標準庫:
sys模組
random模組
os模組:
https://www.cnblogs.com/yufeihlf/p/6179547.html
time模組:
turtle模組:
教程:https://www.cnblogs.com/chen0307/articles/9645138.html
資料視覺化
1.matplotlib :
提供了2維視覺化功能庫,是Python視覺化程式庫的泰斗,它的設計和在1980年代被設計的商業化程式語言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的程式碼去呼叫 matplotlib的方法。
訪問:
https://matplotlib.org/
顏色:
https://www.cnblogs.com/darkknightzh/p/6117528.html
教程:
https://wizardforcel.gitbooks.io/matplotlib-user-guide/3.1.html
2.Seaborn:
它是統計類資料視覺化功能庫
訪問:
http://seaborn.pydata.org/index.html
3.ggplot:
gplot 跟 matplotlib 的不同之處是它允許你疊加不同的圖層來完成一幅圖
訪問:
http://ggplot.yhathq.com/
4.Mayavi:
Mayavi2完全用Python編寫,因此它不但是一個方便實用的視覺化軟體,而且可以方便地用Python編寫擴充套件,嵌入到使用者編寫的Python程式中,或者直接使用其面向指令碼的API:mlab快速繪製三維圖
訪問:http://code.enthought.com/pages/mayavi-project.html
講解:https://blog.csdn.net/ouening/article/details/76595427https://www.jianshu.com/p/81e6f4f1cdd8
5.TVTK:
TVTK庫對標準的VTK庫進行包裝,提供了Python風格的API、支援Trait屬性和numpy的多維陣列。
VTK (http://www.vtk.org/) 是一套三維的資料視覺化工具,它由C++編寫,包涵了近千個類幫助我們處理和顯示資料
講解:https://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html
資料分析
教程
https://docs.huihoo.com/scipy/scipy-zh-cn/index.html#
1.numpy
表達N維陣列的最基礎庫
訪問
http://www.numpy.org/
講解
https://blog.csdn.net/lm_is_dc/article/details/81098805
2.sympy
sympy是一個Python的科學計算庫,用一套強大的符號計算體系完成諸如多項式求值、求極限、解方程、求積分、微分方程、級數展開、矩陣運算等等計算問題
訪問
https://docs.sympy.org/0.7.1/guide.html#guide
講解
https://www.jianshu.com/p/339c91ae9f41
解方程
https://www.cnblogs.com/zyg123/p/10549354.html
3.SciPy
數學、科學、工程計算功能庫
官網
https://www.scipy.org/
講解
https://blog.csdn.net/wsp_1138886114/article/details/80444621
4.pandas
Python資料分析高層次應用庫
官網
http://pandas.pydata.org/
講解
https://www.cnblogs.com/linux-wangkun/p/5903945.html
5.blaze
官網
http://blaze.readthedocs.io/en/latest/index.html
文字處理
pyPDF2:用於處理PDF檔案的工具集
Python-docx:操作Microsoft Word 檔案的第三方庫
影象處理
bigmoyan
http://scikit-image.org/
Python Imaging Library(PIL)
http://www.pythonware.com/products/pil/
pillow:
http://pillow.readthedocs.io/en/latest/
Quads
迭代的藝術
ascii_art:ASCII藝術庫
turtle:Python標準庫機器學習1.Scikit-learn是一個簡單且高效的資料探勘和資料分析工具,易上手,可以在多個上下文中重複使用。它基於NumPy,SciPy 和 matplotlib,開源,可商用(基於 BSD 許可)。
訪問:
講解:https://blog.csdn.net/finafily0526/article/details/79318401
2.Tensorflow
最初由谷歌機器智慧科研組織中的谷歌大腦團隊(Google Brain Team)的研究人員和工程師開發。該系統設計的初衷是為了便於機器學習研究,能夠更快更好地將科研原型轉化為生產專案。
3.MXNet:
基於神經網路的機器學習計算框架
網路相關
網路爬蟲
requests
最友好的網路爬蟲功能庫
訪問:http://www.python-requests.org/
scrapy
優秀的網路爬蟲框架
訪問:https://scrapy.org/
pyspider
強大的Web頁面爬取系統
https://github.com/binux/pyspider
Web資訊提取
BeautifulSoup
HTML和XML的解析庫
訪問:https://www.crummy.com/software/BeautifulSoup/
Python-Goose:
提取文章型別Web頁面功能庫
示例:
Web網站開發
Django:
最流行的Web應用框架
框架:
Pyramid:
規模適中的Web應用框架
示例:
Flask:
Web應用微框架
示例:
1.Tornado
訪問:http://www.tornadoweb.org/en/stable/
3.Web.py
訪問:http://webpy.org/
5.cherrypy
http://cherrypy.org/
6.jinjs
http://docs.jinkan.org/docs/jinja2/
網路應用開發
WeRoBot:
微信公眾號開發框架
示例:
訪問:https://github.com/offu/WeRoBot
教程:https://werobot.readthedocs.io/zh_CN/latest/
aip:
百度AI開放平臺介面
功能:
訪問:
MyQR:
二維碼生成第三方庫
GUI 圖形使用者介面
1.Tkinter
https://wiki.python.org/moin/TkInter/
2.wxPython
跨平臺GUI開發框架
訪問:https://www.wxpython.org/
示例:
3.PyGTK
http://www.pygtk.org/
4.PyQt5:
Qt開發框架的Python介面
5.PySide
http://wiki.qt.io/Category:LanguageBindings::PySide
6.PyGObject:
使用GTK+開發GUI的功能庫
示例:
戲開發
PyGame:
簡單的遊戲開發功能庫
Panda3D開源、跨平臺的3D渲染、遊戲開發平臺
cocos2d開發2D遊戲和圖形介面互動式應用的開發框架
虛擬現實VR Zero樹莓派上開發VR應用的Python庫
訪問:https://github.com/WayneKeenan/python-vrzero
pyovr
Oculus rift 的Python開發介面
Vizard基於Python的通用VR開發引擎
密碼學
1.cryptography
https://pypi.python.org/pypi/cryptography/
2.hashids
http://www.oschina.net/p/hashids
3.Paramiko
http://www.paramiko.org/
4.Passlib
https://pythonhosted.org/passlib/
5.PyCrypto
https://pypi.python.org/pypi/pycrypto
6.PyNacl
http://pynacl.readthedocs.io/en/latest/
自然語言處理
1.nltk: 自然語言文字處理第三方庫
http://www.nltk.org/
教程
https://blog.csdn.net/wizardforcel/article/details/79274443
2.snownlp
https://github.com/isnowfy/snownlp
3.Pattern
https://github.com/clips/pattern
4.TextBlob
http://textblob.readthedocs.io/en/dev/
5.Polyglot
https://pypi.python.org/pypi/polyglot
6.jieba:
https://github.com/fxsjy/jieba
資料庫驅動
mysql-python
https://sourceforge.net/projects/mysql-python/
PyMySQL
https://github.com/PyMySQL/PyMySQL
PyMongo
https://docs.mongodb.com/ecosystem/drivers/python/
pymongo
MongoDB庫
訪問:https://pypi.python.org/pypi/pymongo/
redis
Redis庫
訪問:https://pypi.python.org/pypi/redis/
cxOracle
Oracle庫
訪問:https://pypi.python.org/pypi/cx_Oracle
SQLAlchemy
SQL工具包及物件關係對映(ORM)工具
訪問:http://www.sqlalchemy.org/
peewee,
SQL工具包及物件關係對映(ORM)工具
訪問:https://pypi.python.org/pypi/peewee
torndb
Tornado原裝DB
訪問:https://github.com/bdarnell/torndb
其他庫暫未分類
1.PyInstaller:
是一個十分有用的第三方庫,它能夠在Windows、Linux、 Mac OS X 等作業系統下將 Python 原始檔打包,通過對原始檔打包, Python 程式可以在沒有安裝 Python 的環境中執行,也可以作為一個 獨立檔案方便傳遞和管理。
2.Ipython
一種互動式計算和開發環境
講解
https://www.cnblogs.com/zzhzhao/p/5295476.html
命令
ls、cd 、run、edit、clear、exist