####交替执行task2和task1
def task1(n):
for i in range(n):
print("listening {}".format(i))
yield None
def task2(n):
for i in range(n):
print("woking {}".format(i))
yield None
g1=task1(5)
g2=task2(5)
while True:
try:
next(g1)
next(g2)
except Exception:
break
# 看见 yield这个函数就是个生成器
def fun():
n=0
while True:
n+=1
yield n
g3=fun()
print(g3)#<generator object fun at 0x0000024562CC8248>
print(g3.__next__())
print(g3.__next__())
print(g3.__next__())
def gen():
i=0
while i<5:
temp=yield i
print(temp)
i+=1
return "no data"
g=gen()
g.send(None)
g.send("zzt")
g.send("zzt")
g.send("zzt")
g.send("zzt")
next(g)
next(g)
next(g)
next(g)
next(g)
Python yield generator-usage record
Guess you like
Origin blog.csdn.net/qq_38574975/article/details/108372606
Recommended
Ranking