iterable/iterator/generator

7、什么是 iterable/iterator/generator

Iterable 可迭代對象
列表、元祖、字符串、字典、文件。
指1.實現了 iter 方法的對象, iter() 返回一個 Iterator, Iterator 實現了next() (在 Python 3 更名為 next) 方法.
2.如果對象實現了 getitem 方法也是可以的. 如果能成功調用 iter(這個對象) 并返回一個迭代器, 那么 '這個對象' 就是Iterable.

迭代器(Iterator)
任意對象,只要定義了next(Python2) 或者next方法,它就是一個迭代器。iter返回迭代器自身。迭代器就是實現了工廠模式的對象
generator,生成器也是一種迭代器,但是你只能對其迭代一次。這是因為它們并沒有把所有的值存在內存中,而是在運行時生成值。你通過遍歷來使用它們,要么用一個“for”循環,要么將它們傳遞給任意可以進行迭代的函數和結構。
參考:https://foofish.net/iterators-vs-generators.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容