Python常用库及使用介绍

     阅读:32

python 库是参考其它编程语言的说法,就是指 python 中的完成一定功能的代码集合,供用户使用的代码组合。
在 python 中是包和模块的形式。 一般按照 API 的惯例来设计库。
(1)python模块:包含并且有组织的代码片段为模块。表现形式为:写的代码保存为文件。这个文件就是一个模块。a.py 其中文件名a为模块名字。
(2)python包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。
(3)库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。

一、GUI 图形界面

Tkinter是 Python 的标准 GUI 库。 Python 使用 Tkinter 可以快速的创建 GUI 应用程序。 由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。

wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。

PyQt是一个创建GUI应用程序的工具包。. 它是 Python 编程语言和 Qt 库的成功融合。. Qt库是目前最强大的库之一。. PyQt是由Phil Thompson 开发。

二、Web框架

Django是一个开放源代码的Web应用框架,由Python写成。 是Python生态中最流行的开源Web应用框架,Django采用模型、模板和视图的编写模式,称为MTV模式。

Pyramid是一个通用、开源的Python Web应用程序开发框架。它主要的目的是让Python开发者更简单的创建Web应用,相比Django,它是一个相对小巧、快速、灵活的开源Python Web框架。

Flask是轻量级Web应用框架,相比Django和Pyramid,它也被称为微框架。使用Flask开发Web应用十分方便,甚至几行代码即可建立一个小型网站。Flask核心十分简单,并不直接包含诸如数据库访问等的抽象访问层,而是通过扩展模块形式来支持。

三、科学计算及数据分析处理及可视化

NumPy 是使用 Python 进行科学计算所需的基础包。用来存储和处理大型矩阵,如矩阵运算、矢量处理、N维数据变换等。

Scipy是基于Python的matlab实现,旨在实现matlab的所有功能,在numpy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。

pandas是一个强大的分析结构化数据的工具集,基于numpy扩展而来,提供了一批标准的数据模型和大量便捷处理数据的函数和方法。

Matplotlib 是一个 Python 2D 绘图库,可以生成各种可用于出版品质的硬拷贝格式和跨平台交互式环境数据。Matplotlib 可用于 Python 脚本,Python 和 IPython shell(例如 MATLAB 或 Mathematica),Web 应用程序服务器和各种图形用户界面工具包。

pyecharts是用于生成 Echarts 图表的类库。

Plotly是提供的图形库可以进行在线WEB交互,并提供具有出版品质的图形,支持线图、散点图、区域图、条形图、误差条、框图、直方图、热图、子图、多轴、极坐标图、气泡图、玫瑰图、热力图、漏斗图等众多图形。

四、爬虫相关

requests对HTTP协议进行高度封装,支持非常丰富的链接访问功能。

scrapy很强大的爬虫框架,用于抓取网站并从其页面中提取结构化数据。可用于从数据挖掘到监控和自动化测试的各种用途。

pyspider是一个国人编写的强大的网络爬虫系统并带有强大的WebUI。

bs4-beautifulsoup4库是用于解析和处理HTML和XML。

Crawley是用来高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。

Portia是可视化爬取网页内容。

cola是分布式爬虫框架。

五、机器学习

NLTK是一个自然语言处理的第三方库,NLP领域中常用,可建立词袋模型(单词计数),支持词频分析(单词出现次数)、模式识别、关联分析、情感分析(词频分析+度量指标)、可视化(+matploylib做分析图)等。

TensorFlow是谷歌的第二代机器学习系统,是一个使用数据流图进行数值计算的开源软件库。

Keras 是一个高级神经网络 API,用 Python 编写,能够在 TensorFlow,CNTK 或 Theano 之上运行。它旨在实现快速实验,能够以最小的延迟把想法变成结果,这是进行研究的关键。”
Caffe是一个深度学习框架,主要用于计算机视觉,它对图像识别的分类具有很好的应用效果。

theano是深度学习库。它与Numpy紧密集成,支持GPU计算、单元测试和自我验证,为执行深度学习中大规模神经网络算法的运算而设计,擅长处理多维数组。

Scikit-learn-是一个简单且高效的数据挖掘和数据分析工具,它基于NumPy、SciPy和matplotlib构建。Scikit-learn的基本功能主要包括6个部分:分类,回归,聚类,数据降维,模型选择和数据预处理。Scikit-learn也被称为sklearn。

pytorch库是2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络。

六、办公自动化

XlsxWriter-操作Excel工作表的文字,数字,公式,图表等
win32com-有关Windows系统操作、Office(Word、Excel等)文件读写等的综合应用库

smtplib-发送电子邮件模块
selenium-一个调用浏览器的driver,通过这个库可以直接调用浏览器完成某些操作,比如输入验证码,常用来进行浏览器的自动化工作。
pdfminer-一个可以从PDF文档中提取各类信息的第三方库。与其他PDF相关的工具不同,它能够完全获取并分析 P D F 的文本数据
PyPDF2-一个能够分割、合并和转换PDF页面的库。
openpyxl- 一个处理Microsoft Excel文档的Python第三方库,它支持读写Excel的xls、xlsx、xlsm、xltx、xltm。
python-docx-一个处理Microsoft Word文档的Python第三方库,它支持读取、查询以及修改doc、docx等格式文件,并能够对Word常见样式进行编程设置。

七、其他

上边基本都是我接触以及使用过的库,当然python还会提供很多方面的库。
比如密码学,具体的计算机视觉,自然语言处理等。根据需求再学习使用即可。