Chiustin
網頁
首頁
家庭
2020年2月25日 星期二
Python iterator and generator
要成為迭代器,首先必須建立一個 __iter__ method告訴編譯器說這個類別是一個迭代器,每次進行迭代時都會呼叫這個method,然後回傳給自己(self)。接著還要建立一個__next__ method好讓外部可以透過內建函式next()去告訴迭代器說要產生下一個元素。
產生器可以透過函式利用yield指令或者tuple的comprehension來產生一系列數字,透過in或者next()可以把產生器裡面的元素產生出來
結論是產生器只能一次產生所有元素,比較適合存放容量小的元素,迭代器可以不斷產生元素,比較適合產生大量的元素
最後無聊寫了一個綜合版本
參考
https://anandology.com/python-practice-book/iterators.html
沒有留言:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言