Python學習筆記:iterator和iterable

定義:

一個迭代器(iterator)是一個管理一系列值的迭代的對象。如果一個變量i指代一個迭代器對象,那麼每次調用內建函數next(i)就可以產生一個這一系列值的下一個元素,如果StopIteration異常發生則意味着沒有更多的元素可以產生了。
一個iterable是一個對象,obj,可以用語句iter(obj)產生一個迭代器。

從定義可以很明顯的看出iterator和iterable的區別。一個iterable對象可以產生一個iterator,一個iterator可以迭代產生一個iterable對象包含的元素。
舉個例子,for循環的內部原理就是每次循環調用一次next(i),直到遇到StopIteration異常。

參考文獻
Data Structures and Algorithms in Python,WILEY

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