Python协程
示例
生成器可用于实现协程:
#创建并提高生成器到第一产量 def coroutine(func): def start(*args,**kwargs): cr = func(*args,**kwargs) next(cr) return cr return start #协程示例 @coroutine def adder(sum = 0): while True: x = yield sum sum += x #示例使用 s = adder() s.send(1) #1 s.send(2) #3
协程通常用于实现状态机,因为它们主要用于创建需要状态正常运行的单方法过程。它们以现有状态进行操作,并返回操作完成时获得的值。