1. 程式人生 > 程式設計 >Python模組彙總(常用第三方庫)

Python模組彙總(常用第三方庫)

模組

定義

計算機在開發過程中,程式碼越寫越多,也就越難以維護,所以為了編寫可維護的程式碼,我們會把函式進行分組,放在不同的檔案裡。在python裡,一個.py檔案就是一個模組

優點:

提高程式碼的可維護性。
提高程式碼的複用,當模組完成時就可以在其他程式碼中呼叫
引用其他模組,包含python內建模組和其他第三方模組
避免函式名和變數名等名稱衝突

Python語言生態

Python語言提供超過15萬個第三方庫,Python庫之間廣泛聯絡、逐層封裝。

使用pip安裝
Python社群:https://pypi.org/

python標準庫:

sys模組
random模組
os模組:

os.path:講解
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