• 技术文章 >Python技术 >Python基础教程

    解析python生成器函数的调用

    十一十一2020-11-18 17:45:57原创2559

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

    观察生成器函数执行过程

    1

    2

    3

    4

    5

    6

    7

    8

    import random

    def genRandom():

    #yield关键字

    r = random.randint(0,1000)

    print('befor yield')

    yield r

    print('after yield')

    genfunc = genRandom()

    调用:

    1

    2

    3

    4

    print(next(genfunc))

    结果:没有执行:print('after yield')

    befor yield

    726

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

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

    专题推荐:python生成器函数的调用
    上一篇:如何使用python super函数调用父类? 下一篇:python3 os中如何裁剪文件?

    相关文章推荐

    • python中常见collections库的教学• 如何用python函数计算列表最大和与最大值?• 如何使用python super函数调用父类?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网