生成器都是迭代器,迭代器不一定是生成器
可迭代对象:list,tuple,dict,string,Iterable
什么是迭代器?
满足两个条件:1,有iter方法;2,有next方法
1 I=[1,2,3,4] 2 d=iter(I) 3 print(d) 4 print(next(d)) 5 print(next(d))
for循 环内部三件事
1,调用可迭代对象的iter方法,返回一个迭代器对象
2,不断调用迭代器对象的next方法
3,处理StopIteration异常