返回生成器以及Python 3.3中的yield

返回生成器以及Python 3.3中的yield,第1张

返回生成器以及Python 3.3中的yield

这是Python 3.3的新功能(如注释所述,它甚至在3.2中也不起作用)。很像

return
发电机中早已等效
raiseStopIteration()
return <something>
在发电机中现在等效
raiseStopIteration(<something>)
。因此,您看到的异常应打印
StopIteration:3
,并且可以通过
value
异常对象上的属性访问该值。如果将生成器委派给使用(也是新的)
yieldfrom
语法,则为结果。有关详细信息,请参见PEP 380。

def f():    return 1    yield 2def g():    x = yield from f()    print(x)# g is still a generator so we need to iterate to run it:for _ in g():    pass

这打印

1
,但不是
2



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5648159.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存