迭代器,生成器

迭代器:
迭代器指的是迭代取值的工具,可以記住遍歷的位子
迭代:重複+每次重複都是基於上一次的結果而進行
迭代器提供了一種通用的且不依賴於索引的迭代取值方式
可迭代對象有__iter__方法,迭代器對象有__iter__和__next__方法
迭代器對象從集合的第一個元素開始訪問,直到所有元素訪問完,拋出StopIteration錯誤,迭代器只能前進不能後退

blob.png


for循環可直接遍歷可迭代對象,猜測底層是對可迭代對象進行了處理,讓列表字典等變爲迭代器對象,且對結束異常進行了處理,文件對象爲迭代器對象

blob.png




生成器:

在python中使用了yield的函數被稱爲生成器

調用這個函數返回的是一個生成器對象,此生成器對象同時具有__iter__方法和__next__方法,所以本質上生成器就是一個迭代器


blob.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章