編寫一個生成器須要編寫__iter__和__next__

 

class _Iterator:
    """ 迭代器類 """
    def __init__(self,seq=None):
        self._bag_items = [1,2,3,4,5] if seq is None else seq
        self._cur_item = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self._cur_item < len(self._bag_items):
            item = self._bag_items[self._cur_item]
            self._cur_item += 1
            return item
        else:
            raise StopIteration

__next__ for循環每次迭代會調用it

__iter_返回自己就行, 自己就是迭代器io

相關文章
相關標籤/搜索