协程发展史:由yield至await
发布时间
阅读量:
阅读量
在Python 2.5版本中,yield关键字被允许出现在表达式之中,同时生成器API新增了send()方法,从这一时期起,生成器便具备了作为协程的功能。
进入Python 3.3版本后,PEP380标准被引入,其中定义了yield from语句。借助该语句,可以将结构复杂的生成器重新组织为多个小型嵌套生成器;此外,自该版本起生成器支持返回值,在此之前若在生成器中添加return语句则会触发SyntaxError错误。
Python 3.4版本中引入了asyncio标准库,该库直接提供了对异步IO操作的内置支持。
Python 3.5版本则引入了async/await语句,使得协程的编写与使用变得更加便捷。
本文系列将围绕上述发展历程,探讨协程技术的演变过程。
yield/send时代
在先前已有文献对协程概念进行阐述的基础上,此处将直接呈现相关测试代码。
import random
import time
def fibonacci(n):
index = 0
a,b = 0,1
while index < n:
sleep_cnt = yield b
print('let me think
全部评论 (0)
还没有任何评论哟~
