python扩展模块

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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() # 多维数组转一维数组

相关文档
最新文档