在一个生成器函数未启动之前,是不能传递数值进去。必须先传递一个None进去或者调用一次next(g)方法,才能进行传值操作
def product(c):# c.send(None)for i in range(5):print("生产者产生数据%d"%i)r= c.send(str(i))print("消费者消费了数据%s"%r)# c.close()
def customer():data = ""while 1:n =yield dataif not n:returnprint("消费者消费了%s"%n)data= "200"
c= customer()
product(c)