02 迭代器生成器内置函数
day2迭代器生成器内置函数
列表与生成器表达式的区别
①把列表解析的[]换成()得到的就是生成器表达式
②列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更加节省内存空间
③Python不但使用迭代器协议,让for循环变得更加通用。大部分内置函数,也是使用迭代器协议访问对象的
可迭代对象
包括迭代器、序列(字符串、列表和元组)、字典
能够使用for遍历的数据都是可迭代对象,迭代对象内部实现了迭代协议(这个对象拥有__iter__)
迭代器
是可迭代对象的一种
不仅仅实现了 __iter__这个方法,还实现了
可以使用内置函数next进行迭代
迭代对象转换为迭代器:迭代器=iter(可迭代对象)
生成器
是一种特殊的迭代器
创建生成器的两种方式
1、生成器表达式:i for i in range(1000)
2、生成器函数:只要函数中使用了yield这个关键字
常用的方法
send方法
closed方法
throw方法
yield 是一个类似 return 的关键字,迭代一次遇到yield时就返回yield后面的值。下一次迭代时,从上一次迭代遇到的yield后面的代码开始执行
浙公网安备 33010602011771号