迭代iteration
-
迭代协议(python中无接口,只有协议)
.__next__()方法,获取下一个元素、next()函数
-
迭代工具:for 、推导、map
迭代器对象:已经实现迭代协议 例如:文件
可迭代对象:iter()->__iter__()用于生成迭代器 例如:列表
另:用iter(m) is m来判断是否m是可迭代对象
-
内置可迭代对象:
range()
map():
result = list(map(函数,列表))这种方法可以将列表中元素都执行一遍函数,并放到列表中。
zip():
将两、个列表zip成一个两个两个的元组
函数
-
why
最大化代码重用
最小化代码冗余
过程分解
-
定义
def 方法名(参数1,...):函数体
-
调用
函数名(实参)
-
变量作用域
Enclosure:
函数套函数,在局部变量前一行写上nonlocal z说明这个z不是局部变量,是在上一个函数中的局部变量
Bulit-in:
作用范围最高
global:
在局部变量前一行写上 Global z,表示全局的变量
local
-
参数
传递:
不可变类型,传递副本给函数,函数内操作不影响原始值。例如:除了列表
可变类操作,传递地址引用,函数内操作可能会影响原始值。例如:列表