系列文章目录
提示:仅记录个人的学习心得,欢迎交流
(占位,以后再补 ……………………)
前言
对python语言基础中记忆不牢的进行总结,希望自己能坚持下去!为了学习计算机视觉做准备!
本次对本书的第三章的内容进行一些补充。
一、一些函数介绍
1.1 zip
zip将列表、元组或者其他序列的元素配对,新建一个元组构成的列表;zip可以处理任意长度的序列,他生成列表长度由最短的序列决定
seq1 = ['foo'. 'bar', 'baz']
seq2 = ['one', 'two', 'three']
zipped = zip(seq1, seq2)
list(zippped)
>>> [('foo', 'one'), ('bar', 'two'), ('baz', 'three')]
seq3 = [False, True]
list(zip(seq1, seq2, seq3))
>>> [('foo', 'one', 'False'), ('bra', 'two', 'True')]
zip函数也可以将已配对的序列拆分成两个独立的序列,原理是将行的列表转换成列的列表。
cut1, cut2 = zip(*seq3)
>>> cut1 = ('foo', 'one', 'False')
cut2 = ('bar', 'two', 'True')
1.2 enumerate枚举
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
enumerate(sequence, [start=0])
- sequence -- 一个序列、迭代器或其他支持迭代对象。
- start -- 下标起始位置的值。
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
>>> [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1)) # 下标从 1 开始
>>> [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
map = {}
for i, v in enumerate(seasons):
mapping[v] = i
print(mapping)
>>> {'Spring': 0, 'Summer': 1, 'Fall': 2, 'Winter: 3}
二、函数概要
定义函数时,关键字参数(有初始值的形参)必须放在位置参数(没有初试值的参数)之后。
函数也可以作为对象传输给其他函数。
2.1 匿名函数(Lambda函数)
匿名函数是一种通过单个语句生成函数的方式,其结果是返回值。
2.2 生成器
生成器可以很方便的构造新的可遍历对象,并且返回一个多结果的序列;调用生成器时,代码不会立刻执行,只会在请求生成器中的序列元素时才会开始执行。
创建生成器的方法:将返回值的关键字由return改为yield即可。
2.3 错误和异常处理
ValueError:输入值的错误
TypeError:输入类型的错误
解决方法:try/except 模块;当有多个错误/异常想采用同一种解决方法时可以用元组的方式传入到except关键字后即可。
如果代码不论报错与否都要执行的时候,可以将此部分的代码放在关键字finally后。
不报错执行的代码可以放在关键字else后。