一、什么是生成器
Generator
1.生成器就是可以生成值的函数
2.当一个函数里有了 yield
关键字就成了生成器
3.生成器可以挂起执行并且保持当前执行的状态
代码示例:
def simple_gen():
yield 'hello'
yield 'world'
gen = simple_gen()
print(type(gen)) # 'generator' object
print(next(gen)) # 'hello'
print(next(gen)) # 'world'
二、基于生成器的协程
Python3
之前没有原生协程,只有基于生成器的协程
1.pep
342(Coroutines via Enhanced Generators
)增强生成器功能
2.生成器可能通过 yield
暂停