所以,这是一个python表达式:
a = yield from f()
这是什么意思?它可以在哪里使用?应该是什么样的对象f
?计算表达式后的值a
是多少?
stackoverflow上有几个关于python的问题yield
,yield from
但我没有找到答案。
我理解 和的yield x
含义。Even或多或少可以理解。但对我来说是意外的事情。y = yield
y = yield x
yield from f()
a = yield from f()
更新:
B. Barbieri 提供了正确答案。我仍然需要稍微不同地制定它。
表达式的语义与a = yield from f()
函数调用非常相似:返回a
值f()
。但是如果f()
产生任何东西,产生的值将被转发到“上层”(你只能a = yield from f()
在函数内部编写,这将使你成为一个生成器)。如果在那之后“上层”将一个值发送回您的生成器,该值将被转发到f()
并且f()
将继续。
yield from
允许和“f()
上层”在您的函数运行时进行通信。
我想现在我确实明白这一切yield from
是怎么回事,并希望这种解释对其他人有所帮助。