函数生成器

  

* * * *生成器

  


生成器指生成器对象,可以由生成器表达式得到,也可以用收益率关键字得到一个生成器函数,
调用这个函数得到一个生成器对象

延迟计算,惰性求值


产量:生成器返回值(惰性)


def . n:行情)():
我的范围(5):
打印(“ ~“)
产量我
打印(“+ + +”)

第一次下(inc ())
~
1

第二次下(inc ())
+ + +
~ ~ ~
2

,


  

返回生成器对象

  


第一次先执行到收益率语句,之后暂停
再次调用继续执行

出现返回或走完循环,报错误,代表生命走到尽头
返回的值拿不到,抛出抛出stopiteration异常

一般情况只要屈服值

def . n:行情)():
def计数器():
数=0
而真实:
计数+=1
产量计数
c=计数器()
返回λ:下一个(c)
g=公司()
打印(g ())
打印(g ())
打印(g ())


发送 
返回并进行值交互:

例:


def计数器():
数=0
而真实:
计数+=1
反应=产量计数<强> * * * *
c=计数器()

c.send (100)=100
#反应如果不用发送,则响应的值为没有

  从语

产量法:
x在c:产量从c
产量x=比;

函数生成器