生成器可以是在工作完成后自动继续工作吗?这是大家给小编出的问题,关于生成器,其实它在工作完以后,只能去重新创建一个生成器对象,这样才能保证工作的正常运转,口说无凭,我给大家走一遍流程,大家可以仔细观察就理解明白了。
观察生成器函数执行过程:
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下一条语句,并报异常,这是因为通过异常告知调用者,生成器执行结束,那么如果想要再次执行生成器,必须重新创建生成器对象。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!