9.序列
python中的序列数据类型和列表比较相近,只是它的元素值是固定的。定义为:arg=element1, element2, ..., elementN 一般用小括号将元素括起来
如果要创建单个元素的列表,在该序列最后要加上逗号,否则,变量的类型则变为单个元素的类型了
元素的访问:tuple[index]或[m:]或[m:n]
python提供了内置函数产生随机数。random模块中的random函数,可以产生0.0到1.0之间的浮点数。
10.字典
之前的三种复合数据类型:字符串、列表和序列,用整数作为索引。那么字典的索引可以是字符串,也可是整数。
字典:dict{key1:value1, key2:value2, ..., keyN:valueN}
字典:dict{key1:value1, key2:value2, ..., keyN:valueN}
字典的操作:
删除元素。del dict[key1]
删除所有。dict.clear()
字典元素数量。len(dict)
字典也会碰到别名的问题,这个时候可以用字典的copy方法。dict1=dict2.copy()
字典的用处:
稀疏矩阵的表示。将非零元素行列值作为key,值作为value。访问0元素,得用get方法。
11.文件
文件的打开。file=open(path, state) #path默认路径是程序路径,否则请填写完整路径;state比较常见是“w”和“r”
文件的读。以r方式打开文件,可以进行文件读。
file.read()或file.read(n) #读一定数量的字符
file.readline() #每次读一行
#读到尾部返回空,而且读也和c读文件差不多,里面是有指针的,该指针会移动
文件的写。以w方式打开文件,可以进行文件的写。
file.write(str) #write的参数只能是字符串,如想将其他类型的变量写入文件,须进行转换。此外,换行符是'\n'
#转换的方法有两个:一个是利用str(agr)函数,两一个是利用格式化操作符%。对于%,当两边是整数时,它是求余的运算,如果第一个操作符是字符串,它就是格式化操作符。
数据的写入。将不同类型的数据转换为字符串存入文件,那么读取出来的也是字符串,如何让数据保持类型,利用输入pickle模块的dump方法。
pickle.dump(value, file)
相应的读取是:pickle.load(file) #一次取一个dump存入的数据
12.异常
程序出错,会产生异常。
编译器对于异常有两个部分的信息,即异常类型:异常说明。
如果在执行中不想因为异常而导致程序终止,可用try和except语句进行处理。
try:
语句1
...
except:
hanle
自定义异常。 raise 异常类型,异常说明
13.类和对象
python支持面向对象的编程。
class Name:
pass
pass
构造函数:__inint__(arg1, arg2, ...)
在进行类函数声明的时候,可以进行一些参数默认值设置,此外还能引入参数self,这相当于c++中的this指针,但是这个不同的是,需要再函数的参数列表中声明一下,调用的时候不用传入。一般将self放在第一个位置
私有和公有。有私有方法和私有属性,规定很简单,如果名字是以两个下划线开始,但不是以两个下划线结束,就是私有的。
继承。class DreviedClass(BaseClass) #子类对属性和方法的查找,首先查找的是子类,然后是父类
操作符重定义。加法:__add__(self, other)
减法:__sub__
乘法:__mul__或__rmul__