首页 > 编程语言 > 详细

python中生成器yield

时间:2019-12-26 14:10:34      阅读:83      评论:0      收藏:0      [点我收藏+]

def yield_demo():

  for x in range(3):

    yield x

    print("生成器后一行代码")

 

a = yield_demo()

print(a)  #这里的a是一个生成器对象

 

可以用for循环来遍历生成器对象里的元素

for  i in a:

  print(i)

 

那么yield的工作过程是怎么样的呢?

可以通过

print(a.__next__())来一步一步显示yield的过程

可以发现,yield首先是返回某一个对象,并且yield会向指针一样指向yield之后的地址,但不执行,直到下次调用yield才开始从yield指向的地址开始执行。也就是说,程序中,yield会返回对象,但返回后就停在这里,直到下次再次调用yield对象中的元素。

函数中,yield可以同时存在多个,只要遇到yield就返回并停止在这里。

python中生成器yield

原文:https://www.cnblogs.com/laofang/p/12101664.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!