模块定义计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代
模块
定义
计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里。在python里,一个.py文件就是一个模块
优点:
提高代码的可维护性。 提高代码的复用,当模块完成时就可以在其他代码中调用 引用其他模块,包含python内置模块和其他第三方模块 避免函数名和变量名等名称冲突
Python语言生态
Python语言提供超过15万个第三方库,Python库之间广泛联系、逐层封装。
使用pip安装 Python社区:https://pypi.org/
python标准库:
sys模块 random模块 os模块: os.path:讲解 https://www.jb51.net/article/159730.htm time模块: turtle模块: 教程:https://www.jb51.net/article/171752.htm
数据可视化
1.matplotlib : 提供了2维可视化功能库,是Python可视化程序库的泰斗,它的设计和在1980年代被设计的商业化程序语言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它们让你能用更少的代码去调用 matplotlib的方法。
访问:
https://matplotlib.org/
颜色:
https://www.jb51.net/article/136566.htm
教程:
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://www.jb51.net/article/130031.htm
2.sympy
sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题 访问
https://docs.sympy.org/0.7.1/guide.html#guide
讲解
https://www.jb51.net/article/158566.htm
解方程
https://www.jb51.net/article/171754.htm
3.SciPy 数学、科学、工程计算功能库
官网
https://www.scipy.org/
讲解
https://www.jb51.net/article/171758.htm
4.pandas Python数据分析高层次应用库
官网
http://pandas.pydata.org/
讲解
https://www.jb51.net/article/171762.htm
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://www.jb51.net/article/171765.htm
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/
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
Python模块