编写一个生成器需要编写__iter__和__next__

Posted cm_python_Detail

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写一个生成器需要编写__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循环每次迭代会调用

__iter_返回本身就行, 本身就是迭代器

以上是关于编写一个生成器需要编写__iter__和__next__的主要内容,如果未能解决你的问题,请参考以下文章

迭代器和生成器

python中迭代器和生成器。

迭代器补充

python全栈开发 * 13知识点汇总 * 180619

迭代器和生成器(python3入门)

迭代器和生成器