迭代器: 迭代器指的是迭代取值的工具,可以記住遍歷的位子 迭代:重複+每次重複都是基於上一次的結果而進行 迭代器提供了一種通用的且不依賴於索引的迭代取值方式 可迭代對象有__iter__方法,迭代器對象有__iter__和__next__方法 迭代器對象從集合的第一個元素開始訪問,直到所有元素訪問完,拋出StopIteration錯誤,迭代器只能前進不能後退
for循環可直接遍歷可迭代對象,猜測底層是對可迭代對象進行了處理,讓列表字典等變爲迭代器對象,且對結束異常進行了處理,文件對象爲迭代器對象
生成器:
在python中使用了yield的函數被稱爲生成器
調用這個函數返回的是一個生成器對象,此生成器對象同時具有__iter__方法和__next__方法,所以本質上生成器就是一個迭代器