lianliange85的专栏

裸奔者的米兰梦想!

Python斐波拉契生成器与迭代器

迭代器:
class Fib:                                        ①
    def __init__(self, max):                      ②
        self.max = max

    def __iter__(self):                           ③
        self.a = 0
        self.b = 1
        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                                ⑥
生成器:
def fib(max):
    a, b = 0, 1          ①
    while a < max:
       yield a          ②
        a, b = b, a + b  ③

阅读更多
个人分类: Python
上一篇Python中的getattr()函数详解
下一篇python 列表操作总结
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭