可迭代对象
能使用 for 循环
for i in obj:
xxxx
的都是可迭代对象
生成器
生成器不但可以作用于for循环,还可以通过next()函数不断返回下一个值
生成器有两种形生成器不但可以作用于for循环,还可以通过next()函数不断返回下一个值式, 一种是将列表生成式的两侧的方括号换成圆括号; 第二种就是在函数中增加yield关键字
迭代器
生成器都是迭代器
调用一个生成器函数,返回的是一个迭代器对象。
list、tuple、dict等对象虽然是可迭代的(Iterable),但却并不是迭代器(Iterator)