一、迭代
引例
1.迭代协议_next_()
如读取完之后继续运行则会抛异常
引用全局函数next()则无异常效果同上
注意:写resdlines()方法占用内存大,当数据量大时不适用,而迭代方法占用内存少
2.迭代工具 for…、推导…、map…
for…推导…map之所以能够遍历对象,是因为程序在目标上应用了迭代器
迭代器对象(如文件)已经实现了迭代器
可迭代对象(如列表)通过iter()->iter()用于生成迭代器
判断列表是不是迭代器对象
可将列表通过迭代方法iter()实现迭代器功能
操作.实现列表元素取平方
for方法
迭代器法
推导法:
回顾一下遍历键值对:
添加iter()转换成迭代对象
推导法回顾
3.内置可迭代对象
range()、map()、zip()、…
二、函数
函数的作用是封装语句,形成一个整体的逻辑
1.函数的作用
a.最大化代码重用
b.最小化代码冗余
c.过程分解
2.函数的定义
def 方法名(参数1,参数2…)
3.函数的调
函数名(实际参数)
找出两个序列相同的部分
4.变量作用域
Global和Local变量
Enclousure封装(函数套函数)
nolocal声明非局部变量
Build-in内置变量: 不要随便定义否则功能无法使用出错
5.参数
1.不可变类型,传递副本给函数,函数对象不影响原始值
列如int/float型,字符串str,元组等
2.可变类型,传递地址引用,函数内部操作可影响原始值
例如:列表list,字典表dict等