可迭代对象

能使用 for 循环

for i in obj:
xxxx

的都是可迭代对象

 

生成器

生成器不但可以作用于for循环,还可以通过next()函数不断返回下一个值

生成器有两种形生成器不但可以作用于for循环,还可以通过next()函数不断返回下一个值式, 一种是将列表生成式的两侧的方括号换成圆括号; 第二种就是在函数中增加yield关键字

生成器, 迭代器, 可迭代对象的关系_生成器

迭代器

生成器都是迭代器

调用一个生成器函数,返回的是一个迭代器对象。

list、tuple、dict等对象虽然是可迭代的(Iterable),但却并不是迭代器(Iterator)

生成器, 迭代器, 可迭代对象的关系_迭代器_02