Python之Python高级特性2.0-生成器
5.生成器
(1)定义
# 一边循环一边计算的机制,节省大量空间
# 形式:(i**i for i in range(10))
(2)查看方式
a. g.next()(python2)
g.__next__()(python3)
b.next(g)
c.for循环遍历
(3)yield关键字
a.函数返回生成器:存储yield后面的值,并实现函数的断点。
b.传值到函数中:用g.send('')传值给yield,并执行函数中yield之后的代码。
此时yield后面的值是g.send()的返回值。
(4)生成器的其他函数
a.g.close():关闭停用
b.g.throw():发送错误(不影响本次输出)
c.g.gi_running():是否运行中