美文网首页
Python生成器

Python生成器

作者: 黄褐色猫头鹰 | 来源:发表于2018-11-07 10:46 被阅读0次
    #生成器(generator), 当我们迭代一个长度巨大的序列时, 是非常消耗内存的,
    #   如果这个序列是按照某种算法推算出来的, 那么我们可以使用生成器, 边遍历, 边生成生成遍历的数据
    #   这样就节省了大量的空间
    #   生成器的特殊在于, 可以用yield暂停原本会继续下去的循环, 再通过next()和send()来恢复
    #   每次yield的时候返回对应的值
    
    def fibonacci(n): # 生成器函数 - 斐波那契
        c, d, counter = 0, 1, 0
        while True:
            if counter > n :
                return
            yield c
            c, d = d, c + d
            counter += 1
    
    f = fibonacci(10) #获得一个迭代器
    
    while True:
        try:
            print( next(f), end=" ")
        except StopIteration:
            break
    

    相关文章

      网友评论

          本文标题:Python生成器

          本文链接:https://www.haomeiwen.com/subject/apvmxqtx.html