1. 程式人生 > >類 斐波那契

類 斐波那契

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))))