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

 

posted on 2013-09-26 16:53  李皮筋  阅读(301)  评论(0编辑  收藏  举报

导航