迭代器(iterator)是一個實現了迭代器協議的對象,python的一些內置數據類型(列表,數組,字符串,字典等)都可以通過for語句進行迭代,我們也可以自己創建一個容器,實現了迭代器協議,可以通過for,next方法進行迭代,在迭代的末尾,會引發stopIteration異常。 --------------------- 本文來自 xiongjiezk 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/xiongjiezk/article/details/51186968?utm_source=copy
生成器(generator)是通過yield語句快速生成迭代器,可以不用iter和next方法
yield可以使一個普通函數變成一個生成器,並且相應的next()方法返回是yield后的值。一種更直觀的解釋是:程序執行到yield時會返回結果並暫停,再次調用next時會從上次暫停的地方繼續開始執行。
顯然,生成器自身有構成一個迭代器,每次迭代時使用一個yield返回 的值,一個生成器中可以有多個yield的值 --------------------- 本文來自 xiongjiezk 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/xiongjiezk/article/details/51186968?utm_source=copy