Python迭代器

python迭代器具备两个基本条件:

1 实现__iter__方法,返回自身。

2 实现next方法,返回下一个元素,并且当元素没有了要抛出StopIteration异常。

 

另外有说法是:一个实现了__iter__的对象是可迭代的,一个实现了next方法的对象是迭代器。

 

class myiter:

    #接收一个迭代数值

    def __init__(self, i):

        self.i = i

    #实现__iter__,返回迭代对象自身

    def __iter__(self):

        return self



    #实现next

    def next(self):

        self.i -= 1

        if self.i <0:

            raise StopIteration

        return  self.i

#以上就是一个迭代器 可以迭代之



m = myiter(10)

for i in m:

    print i

 

你可能感兴趣的:(python)