class Fib(object):
def __init__(self, a, b):
self.a = a
self.b = b
def __iter__(self):
return self # 实例本身就是迭代对象,故返回自己
def next(self):
self.a, self.b = self.a + self.b
if self.a < 100000: # 退出循环的条件
return self.a # 返回下一个值
else:
raise StopIteration()
一个迭代器必须要实现两个函数 __iter__() 和 next()