* * * *生成器
生成器指生成器对象,可以由生成器表达式得到,也可以用收益率关键字得到一个生成器函数,
调用这个函数得到一个生成器对象
延迟计算,惰性求值
产量:生成器返回值(惰性)
例
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=比;