输出 截止 大于500的斐波那锲数 class Fibs,迭代器

class Fibs:
    def __init__(self):
        self.a = 0
        self.b = 1

    def __next__(self):
        self.a, self.b = self.b, self.a + self.b
        return self.a

    def __iter__(self):
        return self


fibs = Fibs()

for f in fibs:
    if f > 500: # 输出 截止 大于500的斐波那锲数
        print(f, end='\t')
        break
    else:
        print(f, end='\t')

  

迭代器用到的魔术方法
__iter__ 和 __next__

 

常见的就是我们在使用for语句的时候,python内部其实是把for后面的对象上使用了内建函数iter

 

posted @ 2023-05-11 23:17  sangern  阅读(6)  评论(0编辑  收藏  举报