python 迭代器和生成器的區別

 

迭代器(iterator)是一個實現了迭代器協議的對象,python的一些內置數據類型(列表,數組,字符串,字典等)均可以經過for語句進行迭代,咱們也能夠本身建立一個容器,實現了迭代器協議,能夠經過for,next方法進行迭代,在迭代的末尾,會引起stopIteration異常。 --------------------- 本文來自 xiongjiezk 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/xiongjiezk/article/details/51186968?utm_source=copy python

 

生成器(generator)是經過yield語句快速生成迭代器,能夠不用iter和next方法
yield能夠使一個普通函數變成一個生成器,而且相應的next()方法返回是yield後的值。一種更直觀的解釋是:程序執行到yield時會返回結果並暫停,再次調用next時會從上次暫停的地方繼續開始執行。
顯然,生成器自身有構成一個迭代器,每次迭代時使用一個yield返回 的值,一個生成器中能夠有多個yield的值 --------------------- 本文來自 xiongjiezk 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/xiongjiezk/article/details/51186968?utm_source=copy 數組

相關文章
相關標籤/搜索