迭代器,生成器,面向过程 2018-3-30
迭代器
迭代器:是一个重复的过程,并且重复都是基于上一次结果得到的,迭代取值的工具
可迭代对象:但凡内置有__iter__方法的对象,都是可迭代对象
可迭代对象有:list,tuple,dict,set ,文件等
迭代对象,res__next__,执行可拿到迭代对象中的一个值
__iter__,执行可拿到迭代器本身
有点:1,提供一种不依赖索引取值的方式 2,迭代器更加节省内存
缺点:1,驱逐麻烦,一个一个的取 2,取值一次性,只能往后取,无法用len获取长度
文件本生就是迭代器对象
for循环称之为迭代器循环,in后方的是可迭代对象
生成器:
总结yield:1,提供一种自定义迭代器的方法,可以在函数内用yield关键字,调用函数拿到的结果就是一个生成器,
即迭代器
2,yield,可以想return一样用于返回值,但是,yield可以返回多次值
yield 可以保存函数的执行的状态
面向过程编程:面向编程的过程的编程,只要是过程
优点:复杂问题流程化,进而简单化
缺点:扩展性极差,修改一个阶段后面其他阶段都可能做修改
应用:扩展性要求极低