python扩展模块
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、扩展模块
■影像扩展模块PIL(单独安装)
影像扩展模块需安装PIL V1.16(与python版本对应)
安装完毕后调用方式为:
import Image # 注意首字母大写!!
im = Image.open(r"d:\000.jpg") # 注意路径字符串的处理
row, col = im.size # 获取影像的尺寸
■声音引擎pyTTS扩展模块(单独安装)
下载并安装pytts 3.0(for python 2.5版),然后使用以下代码即可发声!!
import pyTTS # 注意大小写
tts = pyTTS.Create() # 注意首字母大写
tts.Speak("Mission Finished!") # 注意首字母大写
■Math库(系统自带)
from math import *
1、包含两个常数,pi, e注意小写
2、包含常用的算术运算:floor, ceil, log, log10, exp, sqrt
3、包含常用的三角运算:sin, cos, tan, asin, acos, atan, degree, radians
注意:1、abs()为系统内置函数;2、numpy可以替代 math 实现所有功能!!
■Random库(系统自带)
1、整型随机数:
randint(a, b) # 生成[a, b)的整型浮点数
randrange(a, b, s) # 生成[a, b)的整型浮点数
2、浮点随机数:
random() # 生成[0, 1)的浮点随机数
uniform(a, b) # 生成[a, b)的浮点随机数
■FTP库(系统自带)
import ftplib
1、ftp服务器的连接
ftp = ftplib.FTP("192.168.209.205") # 连接影响服务器,注意FTP要大写
print ftp.login("sino", "801") # 使用用户名登录
2、路径操作
ftp.cwd("/aaa/bbb//") # 设置当前工作路径
ftp.mkd("/aaa/bbb/ccc//") # 创建路径
ftp.rmk("/aaa/bbb/ccc//") # 删除路径
ftp.pmd("/aaa/bbb//") # 返回当前路径名
3、文件操作
ftp.rename(...) # 文件更名
ftp.delete(...) # 文件删除
二、数组/矩阵处理
早期有个包叫Numeric,后来有人写了numarray替代它,很快有人写了个numpy把两个包都替换了,现在有人在Numpy的基础上写了个Scipy,这个咚咚不错,可以完成80%的Matlab工作!!
numpy是python用于科学计算的扩展模块,numpy提供ndarray和ufunc两个对象,主要提供数组对
象、数组函数和傅立叶变换相关函数,Scipy则提供了更多计算工具。
注意:scipy库依赖于numpy库,必须先安装numpy才能使用!!
1、数组的定义
numpy中同时提供了array数组和matrix矩阵对象,使用时容易弄混。
import numpy as np # 数组对象为array对象,而不是普通列表对象!!
import scipy as sp
a = np.array([[1,2],[3,4]],dtype=np.float) #通过列表创建数组
a = np.array(((1,2,3),(4,5,6))) # 通过元组创建数组,效果相同
a = np.mat([[1,2,3],[4,5,6]]) # 通过列表创建矩阵
a = np.mat(((1,2,3),(4,5,6))) # 通过元组创建矩阵
a = np.mat(array([[1,2,3],[4,5,6]])) # 通过数组创建数组
b = np.arange(30) # 通过类似range()创建一维数组
b = np.arange(2, 3, 0.1) # 通过(起点,终点,步长)创建数组
b = np.linspace(2, 3, 10) # 通过(起点,终点,个数)创建线性数组
b = np.logspace(2, 3, 5) # 通过(起点,终点,个数)创建指数数组,很少用
c = np.zeros((3,5)) # 通过元组创建零矩阵
c = np.zeros_like(a) # 通过类似创建
c = np.ones((3,5)) # 通过元组创建一矩阵
c = np.ones_like(a) # 通过类似创建
c = np.eye(3,5) # 注意单位阵创建方法,不是元组!!
d = np.diag(a) # 获取矩阵a的对角阵
d = np.tri(3, 5) # 生成3*5的下三角阵
d = np.tril(a) # 获取矩阵a的下三角阵
d = np.triu(a) # 获取矩阵a的上三角阵
2、数组常用属性
a = np.array([[1, 2, 3, 4],[5, 6, 7, 8], [9, 10, 11, 12]])
a.ndim # 数组的维数,一维数组=1,二维数组=2
a.dtype # dtype('int32'),获取数组类型
a.size # 12, 获取数组总元素个数(个数=行*列)
a.itemsize # 数组单个元素所占字节数
a.nbytes # 数组总共所占字节数
a.shape # (3,4), 获取数组的行列数
a.shape = 4, 3 # 将数组重排为4行3列,注意不是转置,且划分前后数组
尺寸不变
a.shape = 2, -1 # 使用-1自动计算行/列长度,相当于(2,6)
a.reshape((4, 3)) # 同上,重新划分
3、数组常用操作
a.real; a.imag # 返回数组的实部,虚部
a.T # 矩阵转置
a.tolist() # 数组转换为列表
a.flatten() # 多维数组转一维数组