首页 新闻 会员 周边 捐助

求教下以下代碼解析過程

1
[已解决问题] 解决于 2016-09-22 22:31

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 這句是什麼 意思 ?

偽人的主页 偽人 | 初学一级 | 园豆:103
提问于:2016-09-22 00:02
< >
分享
最佳答案
0

1、实例化 Fibs 这个类之后,self等于这个类的对象本身

2、相当于交换变量里的值。基础教程中有说到两个变量值交换的方法 a , b  = b ,a 

 

奖励园豆:5
墨镜带佬星 | 老鸟四级 |园豆:2310 | 2016-09-22 00:34

謝謝你。

偽人 | 园豆:103 (初学一级) | 2016-09-22 00:53

@Andy.fok: 如果问题已经解决,直接采纳结贴就好了,没有必要说谢谢。

墨镜带佬星 | 园豆:2310 (老鸟四级) | 2016-09-22 01:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册