您的位置:

python各个模块(python中的常用模块)

本文目录一览:

什么是python模块

简而言之,在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都被看作是一个独立的文件。模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能,使用Python中的标准库也是采用这种方法。

盘点Python常用的模块和包

模块

1.定义

计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里。在python里,一个.py文件就是一个模块。

2.优点:

提高代码的可维护性。

提高代码的复用,当模块完成时就可以在其他代码中调用。

引用其他模块,包含python内置模块和其他第三方模块。

避免函数名和变量名等名称冲突。

python内建模块:

1.sys模块

2.random模块

3.os模块:

os.path:讲解

数据可视化

1.matplotlib :

是Python可视化程序库的泰斗,它的设计和在1980年代被设计的商业化程序语言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它们让你能用更少的代码去调用 matplotlib的方法。

访问:

 

颜色:

教程:

2.Seaborn:

它是构建在matplotlib的基础上的,用简洁的代码来制作好看的图表。Seaborn跟matplotlib最大的区别就是它的默认绘图风格和色彩搭配都具有现代美感。

访问:

3.ggplot:

gplot 跟 matplotlib 的不同之处是它允许你叠加不同的图层来完成一幅图

访问:

4.Mayavi:

Mayavi2完全用Python编写,因此它不但是一个方便实用的可视化软件,而且可以方便地用Python编写扩展,嵌入到用户编写的Python程序中,或者直接使用其面向脚本的API:mlab快速绘制三维图

访问:

讲解:

5.TVTK:

TVTK库对标准的VTK库进行包装,提供了Python风格的API、支持Trait属性和numpy的多维数组。

VTK () 是一套三维的数据可视化工具,它由C++编写,包涵了近千个类帮助我们处理和显示数据

讲解:

机器学习

1.Scikit-learn

是一个简单且高效的数据挖掘和数据分析工具,易上手,可以在多个上下文中重复使用。它基于NumPy, SciPy 和 matplotlib,开源,可商用(基于 BSD 许可)。

访问:

讲解:

2.Tensorflow

最初由谷歌机器智能科研组织中的谷歌大脑团队(Google Brain Team)的研究人员和工程师开发。该系统设计的初衷是为了便于机器学习研究,能够更快更好地将科研原型转化为生产项目。

相关推荐:《Python视频教程》

Web框架

1.Tornado

访问:

2.Flask

访问:

3.Web.py

访问:

4.django

5.cherrypy

6.jinjs

GUI 图形界面

1.Tkinter

2.wxPython

3.PyGTK

4.PyQt

5.PySide

科学计算

教程

1.numpy

访问

 

讲解

2.sympy

sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题

访问

 

讲解

 

解方程

3.SciPy

官网

讲解

4.pandas

官网

讲解

5.blaze

官网

密码学

1.cryptography

2.hashids

3.Paramiko

4.Passlib

5.PyCrypto

6.PyNacl

爬虫相关

requests

scrapy

pyspider

portia

html2text

BeautifulSoup

lxml

selenium

mechanize

PyQuery

creepy

gevent

一个高并发的网络性能库

图像处理

bigmoyan

Python Imaging Library(PIL)

pillow:

自然语言处理

1.nltk:

教程

2.snownlp

3.Pattern

4.TextBlob

5.Polyglot

6.jieba:

数据库驱动

mysql-python

PyMySQL

PyMongo

pymongo

MongoDB库

访问:

redis

Redis库

访问:

cxOracle

Oracle库

访问:

SQLAlchemy

SQL工具包及对象关系映射(ORM)工具

访问:

peewee,

SQL工具包及对象关系映射(ORM)工具

访问:

torndb

Tornado原装DB

访问:

Web

pycurl

URL处理工具

smtplib模块

发送电子邮件

其他库暂未分类

1.PyInstaller:

是一个十分有用的第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。

2.Ipython

一种交互式计算和开发环境

讲解

命令

ls、cd 、run、edit、clear、exist

python之数学相关模块

先来看一下 math 模块中包含内容,如下所示:

接下来具体看一下该模块的常用函数和常量。

ceil(x)

返回 x 的上限,即大于或者等于 x 的最小整数。看下示例:

floor(x)

返回 x 的向下取整,小于或等于 x 的最大整数。看下示例:

fabs(x)

返回 x 的绝对值。看下示例:

fmod(x, y)

返回 x/y 的余数,值为浮点数。看下示例:

factorial(x)

返回 x 的阶乘,如果 x 不是整数或为负数时则将引发 ValueError。看下示例:

pow(x, y)

返回 x 的 y 次幂。看下示例:

fsum(iterable)

返回迭代器中所有元素的和。看下示例:

gcd(x, y)

返回整数 x 和 y 的最大公约数。看下示例:

sqrt(x)

返回 x 的平方根。看下示例:

trunc(x)

返回 x 的整数部分。看下示例:

exp(x)

返回 e 的 x 次幂。看下示例:

log(x[, base])

返回 x 的对数,底数默认为 e。看下示例:

常量

tan(x)

返回 x 弧度的正切值。看下示例:

atan(x)

返回 x 的反正切值。看下示例:

sin(x)

返回 x 弧度的正弦值。看下示例:

asin(x)

返回 x 的反正弦值。看下示例:

cos(x)

返回 x 弧度的余弦值。看下示例:

acos(x)

返回 x 的反余弦值。看下示例:

decimal 模块为正确舍入十进制浮点运算提供了支持,相比内置的浮点类型 float,它能更加精确的控制精度,能够为精度要求较高的金融等领域提供支持。

decimal 在一个独立的 context 下工作,可以使用 getcontext() 查看当前上下文,如下所示:

从上面的结果中我们可以看到 prec=28,这就是默认的精度,我们可以使用 getcontext().prec = xxx 来重新设置精度。接下来通过具体示例看一下。

基本运算

执行结果:

上面结果是用了默认精度,我们重新设置下精度再来看一下:

执行结果:

random 模块可以生成随机数,我们来看一下其常用函数。

random()

返回 [0.0, 1.0) 范围内的一个随机浮点数。看下示例:

uniform(a, b)

返回 [a, b) 范围内的一个随机浮点数。看下示例:

randint(a, b)

返回 [a, b] 范围内的一个随机整数。看下示例:

randrange(start, stop[, step])

返回 [start, stop) 范围内步长为 step 的一个随机整数。看下示例:

choice(seq)

从非空序列 seq 返回一个随机元素。 看下示例:

shuffle(x[, random])

将序列 x 随机打乱位置。看下示例:

sample(population, k)

返回从总体序列或集合中选择的唯一元素的 k 长度列表,用于无重复的随机抽样。看下示例:

参考:

Python强大的内置模块collections-

collections 是 Python 的一个内置模块,所谓内置模块的意思是指 Python 内部封装好的模块,无需安装即可直接使用。

Python 提供了很多非常好用的基本类型,比如不可变类型 tuple,我们可以轻松地用它来表示一个二元向量。

namedtuple 是一个函数,它用来创建一个自定义的 tuple 对象,并且规定了 tuple 元素的个数,并可以用属性而不是索引来引用 tuple 的某个元素。

如此一来,我们用 namedtuple 可以很方便地定义一种数据类型,它具备 tuple 的不变性,又可以根据属性来引用,使用十分方便。

本示例中我们使用了一个三维坐标 x,y,z 来定义一个 tuple 对象,对象元素有3个,然后通过坐标值来引用相应的值即可。

deque是栈和队列的一种广义实现,deque是 "double-end queue" 的简称;

deque支持线程安全、有效内存地以近似O(1)的性能在 deque 的两端插入和删除元素,尽管 list 也支持相似的操作,但是它主要在固定长度操作上的优化,从而在 pop(0) 和 insert(0,v)(会改变数据的位置和大小)上有O(n)的时间复杂度。

在数据结构中,我们知道队列和堆栈是两个非常重要的数据类型,一个先进先出,一个后进先出。

在 python 中,使用 list 存储数据时,按索引访问元素很快,但是插入和删除元素就很慢,因为 list 是线性存储,数据量大的时候,插入和删除效率很低。

deque是为了高效实现插入和删除操作的双向链表结构,非常适合实现队列和堆栈这样的数据结构。

defaultdict是内置数据类型 dict 的一个子类,基本功能与 dict 一样,只是重写了一个方法__missing__(key)和增加了一个可写的对象变量 default_factory。

使用 dict 字典类型时,如果引用的 key 不存在,就会抛出 KeyError。如果希望 Key 不存在时,返回一个默认值,就可以用 defaultdict。

OrderedDict类似于正常的词典,只是它记住了元素插入的顺序,当在有序的词典上迭代时,返回的元素就是它们第一次添加的顺序。这样 dict 就是一个有序的字典。

使用 dict 时,key 是无序的。在对 dict 做迭代时,我们无法确定 key 的顺序。但是如果想要保持 key 的顺序,可以用 OrderedDict。

"python有sketchup模块吗"

有。Python是一种面向对象、解释型计算机程序设计语言,而sketchup通过python就可以把设计流程中的各个软件串联起来成为一个整体,因此是有的。Python总共有295个模块,其中模块219个,开头的模块76个。

python中都有哪些模块呢

os模块

os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径

os.chdir("dirname") # 改变当前脚本工作目录;相当于shell下cd

os.curdir # 返回当前目录: ('.')

os.pardir # 获取当前目录的父目录字符串名:('..')

os.makedirs('dirname1/dirname2') # 可生成多层递归目录

os.removedirs('dirname1') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.mkdir('dirname') # 生成单级目录;相当于shell中mkdir dirname

os.rmdir('dirname') # # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.listdir('dirname') # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.remove() # 删除一个文件

os.rename("oldname","newname") # 重命名文件/目录

os.stat('path/filename') # 获取文件/目录信息

os.sep # 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

os.linesep # 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

os.pathsep # 输出用于分割文件路径的字符串 win下为;,Linux下为:

os.name # 输出字符串指示当前使用平台。win-'nt'; Linux-'posix'

os.system("bash command") # 运行shell命令,直接显示

os.environ # 获取系统环境变量

os.path.abspath(path) # 返回path规范化的绝对路径

os.path.split(path) # 将path分割成目录和文件名二元组返回

os.path.dirname(path) # 返回path的目录。其实就是os.path.split(path)的第一个元素

os.path.basename(path) #

返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

os.path.exists(path) # 如果path存在,返回True;如果path不存在,返回False

os.path.isabs(path) # 如果path是绝对路径,返回True

os.path.isfile(path) # 如果path是一个存在的文件,返回True。否则返回False

os.path.isdir(path) # 如果path是一个存在的目录,则返回True。否则返回False

os.path.join(path1[, path2[, ...]]) # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

os.path.getatime(path) # 返回path所指向的文件或者目录的最后访问时间

os.path.getmtime(path) # 返回path所指向的文件或者目录的最后修改时间

os.path.getsize(path) # 返回path的大小

sys模块

sys.argv # 命令行参数List,第一个元素是程序本身路径

sys.exit(n) # 退出程序,正常退出时exit(0)

sys.version # 获取Python解释程序的版本信息

sys.maxint # 最大的Int值

sys.path # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform # 返回操作系统平台名称

datetime模块

datetime.today()返回一个表示当前本期日期时间的datetime对象

datetime.now([tz])返回指定时区日期时间的datetime对象,如果不指定tz参数则结果同上

datetime.utcnow()返回当前utc日期时间的datetime对象

datetime.fromtimestamp(timestamp[, tz])根据指定的时间戳创建一个datetime对象

datetime.utcfromtimestamp(timestamp)根据指定的时间戳创建一个datetime对象

datetime.strptime(date_str, format)将时间字符串转换为datetime对象