
这是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。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)