0
点赞
收藏
分享

微信扫一扫

itertools实例与生成器代码


>>> for i in itertools.count(1,3):

print(i)

if i==10:
break


2.深入生成器:
代码def myYield(n):
while n>0:
print("开始生成")
yield n
print("完成一次")
n-=1
if __name__=="__main__":
for i in myYield(4):
print("遍历得到",i)
print("*"*30)
my_yield=myYield(3)
print('已经实例化生成器对象')
my_yield.__next__()
print("第二次调用__next__的方法")
my_yield.__next__()
yield语句是生成器中的关键语句,生成器在实例化时并不会立即执行,而是等待调用__next__方法才开始执行,并且当程序运行完yield语句后就hold住,
def consumer():
print("等待任务处理")
while True:
data=yield
print("接收到任务了!**任务是:",data)
def producter():
c=consumer()
c.__next__()
for i in range(3):
print("开始生成第%d个任务"%i)
c.send("任务%d"%i)
if __name__=="__main__":
producter()

举报

相关推荐

0 条评论