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

转载 2013年12月05日 09:51:44
迭代器:
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 Generators(生成器)——yield关键字

Python Generators(生成器) 生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。...

Python笔记-列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

python核心编程笔记(7)-迭代器,生成器

chap 8  1. 序列相关的内建函数:     sorted() 返回一个列表     reversed()  返回反序访问的迭代器     enumerate() 返回迭代器 ...

斐波拉切堆栈c++

斐波拉切数列

  • 2014-09-17 21:23
  • 686B
  • 下载

4 Python 迭代器_生成器_列表解析

Python中的迭代器,列表解析,生成器,yield

【Python】迭代器(iterator) vs 生成器(generator)

对python中的迭代器(iterator) vs 生成器(generator)之间的区别和应用进行介绍。

python核心高级学习总结8------动态性、__slots__、生成器、迭代器、装饰、闭包

python中的动态性、__slots__、生成器、迭代器、装饰、闭包的概念以及理解
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)