【发布时间】:2015-12-11 12:05:30
【问题描述】:
我刚刚读到 PEP0492 谈论协程的新方法,但 PEP 未能让我理解基于生成器的协程和本地协程之间的区别。谁能告诉我区别(也许有例子)?
据我了解,他们使用不同的词(yield/yield from 和 await/async/yield)。我知道在原生协程结束时会产生一个收益,但这也适用于基于生成器的协程。
【问题讨论】:
-
区别在于语法;它是语法糖,使其更清晰。
-
那么,除了语法之外,它们是相同的吗?听起来太奇怪了……它不会在 PEP 中获得批准。
-
装饰器也是语法糖,你可以在函数声明之后使用
func = decorator(func)。上下文管理器是try:...except:...finally:的语法糖。 Python 是关于可读性和目的明确性的,这完全符合这些目标。 -
这样说,似乎更合法。做出回答,我会接受的
标签: python async-await coroutine python-3.5