一、协程
def go(): data="" r=yield data print("1",r,data) r=yield data print("2",r,data) r=yield data print("3",r,data) r=yield data #最后一个为空代表结束 #没有这个语句会报异常 my=go() print(my.send(None))#启动,none启动 print(my.send("2")) print(my.send("3"))
二、协程编号
def go(): data="" for i in range(100): r=yield data print(i,r) my=go() print(my.send(None)) print(my.send("dd")) print(my.send("ff"))
三、生产者消费者
def make(d): d.send(None) #启动消费者 n=0 while n<10: n=n+1 print("生产",n) r=d.send(n) print("消费者返回的",r) d.close() def deleter(): r="" while True: n=yield r #获取发送的数据 n--收到的数据 r--返回的数据 if not n: return print("消费",n) r="OK" d=deleter() make(d)
以后多多交流