zoukankan      html  css  js  c++  java
  • python之路----再谈生成器

    对于普通的生成器,第一个next调用,相当于启动生成器,会从生成器函数的第一行代码开始执行,直到第一次执行完yield语句(第4行)后,跳出生成器函数。

    然后第二个next调用,进入生成器函数后,从yield语句的下一句语句(第5行)开始执行,然后重新运行到yield语句,执行后,跳出生成器函数,

    后面再次调用next,依次类推。下面是一个例子:

    def consumer():
        r = 'here'
        for i in range(3):
            yield r
            r = '200 OK'+ str(i)
    
    c = consumer()
    n1 = c.__next__()
    n2 = c.__next__()
    n3 = c.__next__()
    print(n1)
    print(n2)
    print(n3)
    
    打印结果如下:
    
    here
    200 OK0
    200 OK1
  • 相关阅读:
    EF 使用 oracle
    mysql安装笔记
    解决问题
    第四次冲刺
    第三次冲刺
    SQA
    第二次冲刺
    第一次冲刺,求进步
    Scrum _GoodJob
    我对git 、github的初印象
  • 原文地址:https://www.cnblogs.com/yanyufeng/p/9647305.html
Copyright © 2011-2022 走看看