def consumer():
r = '0000'
while True:
n = yield r# 注意文中老师说的话 :但是Python的yield不但可以返回一个值,它还可以接收调用者发出的参数
#上面就相当于
#n = yield 这里yield 就是用来接收参数的
#yield r 这里用来记录并且返回r的
print('what is n:%s' % n)
print('what is r:%s'% r)
if not n:
return
print('[Consumer] consuming %s' % n)
r = '200 OK'
def produce(c):
c.send(None) #这里是启动generator
n = 0
while n < 5:
n += 1
print('[Producer] producing %s' % n)
r = c.send(n) #如果上面不启动会报 can't send non-None value to a just-started generato
print('[Producer] consumer return %s' % r)
c.close()
完美佩恩
--coding:utf-8--
def consumer(): r = '0000' while True: n = yield r# 注意文中老师说的话 :但是Python的yield不但可以返回一个值,它还可以接收调用者发出的参数
def produce(c): c.send(None) #这里是启动generator n = 0 while n < 5: n += 1 print('[Producer] producing %s' % n) r = c.send(n) #如果上面不启动会报 can't send non-None value to a just-started generato print('[Producer] consumer return %s' % r) c.close()
c = consumer() produce(c)