美文网首页
Python生成器

Python生成器

作者: 霞姐时间管理 | 来源:发表于2017-12-10 06:22 被阅读14次

    在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。

    创建一个generator主要有两种方法:

    一、把一个列表生成式的[]改成()
    二、一个函数定义中包含yield关键字

    • generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。
    • 变成generator的函数,在每次调用next()或for循环调用的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。
    小结

    generator是非常强大的工具,在Python中,可以简单地把列表生成式改成generator,也可以通过函数实现复杂逻辑的generator。

    要理解generator的工作原理,它是在for循环的过程中不断计算出下一个元素,并在适当的条件结束for循环。对于函数改成的generator来说,遇到return语句或者执行到函数体最后一行语句,就是结束generator的指令,for循环随之结束。

    后记:

    创建一多元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。(生成器可以只关心感兴趣的元素,节省空间,避免浪费)。

    详细内容见:
    https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681965108490cb4c13182e472f8d87830f13be6e88000#0

    相关文章

      网友评论

          本文标题:Python生成器

          本文链接:https://www.haomeiwen.com/subject/msjmixtx.html