从Python in a Nutshell,为什么它是async def协程函数不能包含任何yield。谢谢。
async def
yield
oxcyiej71#
这在PEP 492的基本原理中有所说明,PEP 492引入了async/await并禁止在其中使用yield:当前的Python支持通过生成器(PEP 342)实现协程,通过PEP 380引入的语法的收益率进一步增强。这种方法有许多缺点:
async
await
这只适用于Python 3。5在Python 3中。6,PEP 525沿着并取消了异步发电机的禁令。现在,在async def函数中使用yield会创建一个异步生成器。
1条答案
按热度按时间oxcyiej71#
这在PEP 492的基本原理中有所说明,PEP 492引入了
async
/await
并禁止在其中使用yield
:当前的Python支持通过生成器(PEP 342)实现协程,通过PEP 380引入的语法的收益率进一步增强。这种方法有许多缺点:
这只适用于Python 3。5
在Python 3中。6,PEP 525沿着并取消了异步发电机的禁令。现在,在async def函数中使用
yield
会创建一个异步生成器。