#_author:administratora 開始吃包子啦#date:2019/11/4
import time
def consumer(name):
print('%s 開始吃包子啦'%name)
while true:
baizi=yield
print('包子[%s]來了,被[%s]吃了'%(baizi,name))
def producer(name):
c1=consumer('a')
c2=consumer('b')
next(c1)
next(c2)
print('yuwei開始做包子啦')
for i in range(10):
time.sleep(1)
print('做了兩個包子')
c1.send(i)
c2.send(i)
producer('yuwei')
#生成器都是迭代器,迭代器不一定是生成器
output:
b 開始吃包子啦
yuwei開始做包子啦
做了兩個包子
包子[0]來了,被[a]吃了
包子[0]來了,被[b]吃了
做了兩個包子
包子[1]來了,被[a]吃了
包子[1]來了,被[b]吃了
做了兩個包子
包子[2]來了,被[a]吃了
包子[2]來了,被[b]吃了
做了兩個包子
包子[3]來了,被[a]吃了
包子[3]來了,被[b]吃了
做了兩個包子
包子[4]來了,被[a]吃了
包子[4]來了,被[b]吃了
做了兩個包子
包子[5]來了,被[a]吃了
包子[5]來了,被[b]吃了
做了兩個包子
包子[6]來了,被[a]吃了
包子[6]來了,被[b]吃了
做了兩個包子
包子[7]來了,被[a]吃了
包子[7]來了,被[b]吃了
做了兩個包子
包子[8]來了,被[a]吃了
包子[8]來了,被[b]吃了
做了兩個包子
包子[9]來了,被[a]吃了
包子[9]來了,被[b]吃了
Python語言 生成器函式併發
import time def consumer name print name,開始吃包子啦!while true food yield 出入口 print name,吃了 food,end def producer c1 consumer 劉玄 c2 consumer 劉處玄 c1.next c...
python 生成器作用 Python生成器
生成器介紹 在函式內部包含yield關鍵字,那麼該函式執行的結果是生成器,生成器就是迭代器。生成器的功能 把函式結果做成迭代器 以一種優雅的方式封裝好iter,next 提供了一種自己定義迭代器的方式。使用生成器建立乙個迭代器 def a print a yield 11 使用yield,執行後返回...
python生成器好處 Python生成器筆記
python中三大器有迭代器,生成器,裝飾器,本文主要講述生成器。主要從生成器的概念,本質,以及yield關鍵字的使用執行過程。本質 生成器是一類特殊的迭代器,使用了yield關鍵字的函式不再是函式,而是生成器。使用了yield的函式就是生成器 1.yield關鍵字有兩點作用 1.1 yield語句...