class Fibs:
def __int__(self,max):
self.max = max
self.a=0
self.b=1
def __iter__(self):
return self
def next(self):
fib =self.a
if fib>self.max:
raise StopIteration
self.a, self.b = self.b, self.a + self.b
return fib
if __name__=="__main__":
fibs = Fibs(5)
print list(fibs)
運行的結果是:
[0,1,1,2,3,5]
1,請問這個運算過程是怎麼樣的? 2,self.a, self.b = self.b, self.a + self.b 這句是什麼 意思 ?
1、实例化 Fibs 这个类之后,self等于这个类的对象本身
2、相当于交换变量里的值。基础教程中有说到两个变量值交换的方法 a , b = b ,a
謝謝你。
@Andy.fok: 如果问题已经解决,直接采纳结贴就好了,没有必要说谢谢。