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

    python迭代器中Yield方法怎么用?

    十一十一2021-01-11 11:31:53原创3978

    Yield用于返回数据,程序执行到 yield 后,返回结果,记住当前状态,暂停执行,下次调用时,根据上次的状态,返回下一个结果,记住新的状态,暂停执行。通俗的讲,就是调用一次,返回一个数据,再调用一次,返回下一个数据。没错,类似我们日常生活中的挤牙膏。

    下面就为大家详细介绍关于Yield方法的使用。

    定义生成器函数:

    def getData():
    listData=(x**2 for x in range(6))
    for x in listData:
    yield x

    获取生成器

    genData=getData()

    输出生成器的数据

    print(genData.__next__())

    继续输出生成器的数据

    print(next(genData))

    遍历输出

    genData1=getData()
    for x in genData1:
    print(x)

    代码执行结果如下:

    0
    1
    0
    1
    4
    9
    16
    25

    总结:

    迭代器只有在下次调用的时候才会去计算本次生成的值,而不是像列表那样预先生成所有的值。这种方式需要将所有的值预先保存在列表中,当列表很大的时候,非常消耗内存。

    上述就是python中迭代器中Yield方法的全部用法啦,感兴趣的小伙伴可以多多尝试使用哦~

    专题推荐:python迭代器中yield方法
    品易云
    上一篇:python中pandas_datareader库怎么用? 下一篇:python中如何编写函数并调用?

    相关文章推荐

    • python中ruamel.yaml模块是什么?• python中pandas_datareader库怎么用?

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网