zoukankan      html  css  js  c++  java
  • 生成器

    生成器
    在python中,使用了yield的函数被称为生成器(generator)
    跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器
    在调用生成器的过程中,每次遇到yield时函数会暂时并保存当前左右的运行信息,返回yield的值,
    并在下一次执行__next()__方法的时候从当前位置继续运行
    调用一个生成器函数,返回的是一个迭代器对象
    import sys
    def fib(max): #生成器函数--斐波那契
        n,a,b = 0,0,1
        while True:
            if n > max:
                return
            yield a
            a,b = b, a+b
            n += 1
    
    f = fib(5)  #f是一个迭代器,由生成器返回生成
    print(f.__next__())
    
    while True:
        try:
            print(next(f),end =" ")
        except StopIteration:
            sys.exit()
  • 相关阅读:
    Leetcode
    算法
    手写代码注意点 -- HashMap
    Batch
    Batch
    Tomcat
    微服务
    Java 基础
    Maven
    算法
  • 原文地址:https://www.cnblogs.com/ff-gaofeng/p/11494639.html
Copyright © 2011-2022 走看看