解析python生成器函数的调用

2025-12-01 0 17,431

生成器可以是在工作完成后自动继续工作吗?这是大家给小编出的问题,关于生成器,其实它在工作完以后,只能去重新创建一个生成器对象,这样才能保证工作的正常运转,口说无凭,我给大家走一遍流程,大家可以仔细观察就理解明白了。

观察生成器函数执行过程

import random
def genRandom():
#yield关键字
r = random.randint(0,1000)
print('befor yield')
yield r
print('after yield')
genfunc = genRandom()

调用:

print(next(genfunc))
结果:没有执行:print('after yield')
befor yield
726

分析:调用yield之后,返回产生随机数:314,然后停止

从上述内容我们可以看出,执行yield下一条语句,并报异常,这是因为通过异常告知调用者,生成器执行结束,那么如果想要再次执行生成器,必须重新创建生成器对象。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 python基础 解析python生成器函数的调用 https://www.zhiup.top/3645.html

相关