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

    python生成器的原理探究

    小妮浅浅小妮浅浅2021-04-08 09:37:43原创2964

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    1、概念

    生成器是通过使用yield语句而不是return语句定义一个普通函数来创建的。如果函数包含至少一个yield语句,它就成为一个生成器函数。yield和return都将从函数返回一些值。函数在执行return时终止,而yield语句暂停函数,保存它的所有状态,然后在后续调用时继续执行。

    2、组成

    至少有一个yield语句。

    返回一个对象(迭代器),但不立即开始执行。

    记住连续调用之间的局部变量及其状态。

    实现迭代协议。

    3、原理分析

    下面是使用生成器的类似内容。可以发现,调用__iter__()和__next__()都是由生成器自动处理的:

    # Generator for next power of two.
    def NextPowTwo(max_ele):
        n = 0
        while n < max_ele:
            yield 2 * n
            n += 1
        raise StopIteration
     
               
    obj = NextPowTwo(20)
    print (obj.next())
    print (obj.next())
    print (obj.next())
    print (obj.next())

    在对于python学习的时候,容易把生成器与别的知识点混淆,其实想要判断有个最简单的方法,看看是否使用yield函数就知道了。

    以上就是python生成器的原理探究,相信现在已经能够通过yield来明确生成器的使用了。同时我们可以发现,生成器在自动处理调用上是非常好用的。

    专题推荐:python生成器原理
    上一篇:python中如何使用numpy.zeros()函数? 下一篇:python中TCP编程是什么?

    相关文章推荐

    • python中yield生成器用法详解• python的生成器是什么• python生成器如何实现• python迭代器和生成器区别是什么• 深入理解Python中的生成器• python迭代器与生成器用途是什么• 解析python生成器函数的调用

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网