迭代器:
迭代器指的是迭代取值的工具,可以记住遍历的位子
迭代:重复+每次重复都是基于上一次的结果而进行
迭代器提供了一种通用的且不依赖于索引的迭代取值方式
可迭代对象有__iter__方法,迭代器对象有__iter__和__next__方法
迭代器对象从集合的第一个元素开始访问,直到所有元素访问完,抛出StopIteration错误,迭代器只能前进不能后退


for循环可直接遍历可迭代对象,猜测底层是对可迭代对象进行了处理,让列表字典等变为迭代器对象,且对结束异常进行了处理,文件对象为迭代器对象




生成器:

在python中使用了yield的函数被称为生成器

调用这个函数返回的是一个生成器对象,此生成器对象同时具有__iter__方法和__next__方法,所以本质上生成器就是一个迭代器