python迭代器

一个实现了_iter_方法的对象是可迭代的,一个实现了 next 方法的对象则是迭代器。

class Fibs:
    def __init__(self):
        self.a = 0
        self.b = 1
    def __next__(self):   #def next(self):   如果写成这样会报错 TypeError: iter() returned non-iterator of type 'Fibs'
        self.a, self.b = self.b, self.a + self.b
        return self.a
    def __iter__(self):
        return self
fibs = Fibs()
for f in fibs:
    if f > 1000:
        print(f)
        break
posted @ 2016-02-22 09:37  侠之大者kamil  阅读(181)  评论(0)    收藏  举报