class Fab(object): def __init__(self,max): self.max = max self.n ,self.a ,self.b = 0 ,0 ,1 def __iter__(self): #继承object,重写__iter__后,自动调用__next__方法,返回r对象 return self def __next__(self): #此处python2为next,python3为__next__,注意区别 if self.b <= self.max: r = self.b self.a , self.b = self.b , self.a + self.b return r raise StopIteration() #Fab 类通过 next() 不断返回数列的下一个数,内存占用始终为常数: for i in Fab(100): print(i,end=‘ ‘) #或者 # print(next(iter(Fab(5))))
、
原文地址:https://www.cnblogs.com/augustyang/p/9928343.html
时间: 2024-10-30 06:25:21