def consumer(): r1 = '' while True: n1 = yield r1 # 获取n值,返回r1值给r if not n1: return print('[CONSUMER] Consuming %s...' % n) r1 = '200 OK'
def produce(c): c.send(None) # 第一次调用时,使用send(None) n = 0 while n < 5: n = n + 1 print('[PRODUCER] Producing %s...' % n) r = c.send(n)
# send转到consumer()时:(yield r)表达式被赋予了n值 # consumer()执行完返回:r 获取了yield r1 的参数值 r1
print('[PRODUCER] Consumer return: %s' % r)
c.close() c = consumer() produce(c)
# send()和next()在一定意义上作用是相似的,区别是send()可以传递yield表达式的值进去,而next()不能传递特定的值,只能传递None进去
Sign in to make a reply
嬉皮小丸子
def consumer(): r1 = '' while True: n1 = yield r1 # 获取n值,返回r1值给r if not n1: return print('[CONSUMER] Consuming %s...' % n) r1 = '200 OK'
def produce(c): c.send(None) # 第一次调用时,使用send(None) n = 0 while n < 5: n = n + 1 print('[PRODUCER] Producing %s...' % n) r = c.send(n)
# send转到consumer()时:(yield r)表达式被赋予了n值 # consumer()执行完返回:r 获取了yield r1 的参数值 r1
c.close() c = consumer() produce(c)
# send()和next()在一定意义上作用是相似的,区别是send()可以传递yield表达式的值进去,而next()不能传递特定的值,只能传递None进去