1 import time 2 def consumer (name): 3 print("%s要开始吃包子啦"%name) 4 while True: 5 baozi = yield 6 print("包子[%s]来了,被[%s]吃了!" % (baozi, name)) 7 8 # a = consumer("Alex") 9 # a.__next__() 10 # a.send("韭菜馅") #注意!!!yield第一次不能用send发送数据 11 12 13 def producer(name,count): 14 print("%s要开始做包子啦"%name) 15 c1 = consumer("小A") 16 c2 = consumer("小B") 17 c1 . __next__() #注意!!!这里写一个next方法,是因为yield第一次不能用send发送数据,先要用next发送数据下 18 c2 . __next__() 19 for i in range(count): 20 time.sleep(1) 21 print("%s做了两个包子"%name) 22 c1.send(i) 23 c2.send(i) 24 25 producer("大哥",10)
关于python生成器 yield第一次不能用send发送数据
猜你喜欢
转载自www.cnblogs.com/ershier/p/9419665.html
今日推荐
周排行