迭代器与生成器

来源:互联网 发布:爱知日语培训 编辑:程序博客网 时间:2024/05/16 11:31
class Fib:    def __init__(self, mx):        self.a, self.b = 1, 1        self.mx = mx    def __iter__(self):        return self    def __next__(self):        self.a, self.b = self.b, self.a + self.b        if self.a <= self.mx:            return self.a        else:            raise StopIterationdef Fib2(mx):    a, b = 1, 1    while True:        a, b = b, a + b        if a <= mx:            yield a        else:            raise StopIterationfor i in Fib(100):    print(i)for i in Fib2(100):    print(i)

0 0