yield 生成器例子
Posted linux运维
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yield 生成器例子相关的知识,希望对你有一定的参考价值。
1 #!/usr/bin/env python 2 #encoding: utf-8 3 import time 4 def consumer(name): 5 print (‘%s 来吃包子了。。。‘ % (name)) 6 while True: 7 baizi = yield #执行到这会暂停,直到调用next的方法,然后在从这里执行 8 print ("包子 [%s] 来了, 被 [%s] 吃了,,," % (baizi,name)) 9 10 def producer(): 11 c1 = consumer(‘lys‘) #生成迭代器 12 c2 = consumer(‘zhy‘) 13 c1.__next__() #迭代 14 c2.__next__() 15 for i in range(3): 16 print (‘开始重新做包子了,,,‘) 17 time.sleep(1) 18 print (‘做好了2个。来吃吧,,,‘) 19 c1.send(i) #发送给yied,接收参数 20 c2.send(i) 21 22 producer()
以上是关于yield 生成器例子的主要内容,如果未能解决你的问题,请参考以下文章