1.生成器
在python中,一边循环一边计算的机制,叫做“生成器”,"生成器"中保存的是算法。
创建生成器的方法:
1.将列表生成式的[]换成();(x *x for x in rang(5))
2.包含yield关键字的函数;
调用生成器的方法:
1.用next(),可以被next()函数调用并返回下一个值的的对象称为迭代器,所以说迭代器(范畴小)是生成器的特例(范畴大),反过来,即:生成器都是迭代器;
2.用for;
2.可迭代对象
可以直接作用于for循环的叫可迭代对象,可迭代对象包括以下2种:
1.list、tuple、set、dict、str等集合数据类型
2.生成器
3.问:
生成器都是迭代器,但是为什么集合数据类型不是迭代器呢?
因为生成器代表长度未知的数据流,而list等集合数据类型的长度是确定的。