在Python 3.5中,关键字"await"是否等同于"yield from"?

In Python 3.5, is the keyword "await" equivalent to "yield from"?

这里的文档:https://docs.python.org/3/library/asyncio-task.html,我发现很多yield from可以用await代替。

我想知道它们在 Python 3.5 中是否一直都是等价的。有人对此有想法吗?

不,它们不等价。 async 函数中的 await 和生成器中的 yield from 非常相似并且共享它们的大部分实现,但取决于您的 Python 版本,尝试使用 yieldyield fromasync 函数内将导致完全 SyntaxError 或使您的函数成为 asynchronous generator function.

当 asyncio 文档说“awaityield from”时,它们意味着 async 函数应该使用 await 而基于生成器的协程应该使用 yield from.