python中迭代函数的学习
把一个类作为一个迭代器使用需要在类中实现两个方法 iter() 与 next() 。
如果你已经了解的面向对象编程,就知道类都有一个构造函数,Python 的构造函数为 init(), 它会在对象初始化的时候执行。
iter() 方法返回一个特殊的迭代器对象, 这个迭代器对象实现了 next() 方法并通过 StopIteration 异常标识迭代的完成。
next() 方法(Python 2 里是 next())会返回下一个迭代器对象。
创建一个返回数字的迭代器,初始值为 1,逐步递增 1: 用迭代器实现斐波那契数列 `class Fibonacci: def init(self, count): self.count = count
def iter(self): self.i = 0 self.a, self.b = 0, 1 return self
def next(self): if self.i < self.count: self.i += 1 a_old = self.a self.a, self.b = self.b, self.a + self.b return a_old else: raise StopIteration
for i in Fibonacci(10): print(i, end=" ") `