Python面向对象(11)生成器

Posted AC小小常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python面向对象(11)生成器相关的知识,希望对你有一定的参考价值。

介绍

  1. 是使用一种普通函数语法定义的迭代器

  2. 包含yield语句的函数都被称为生成器

  3. 不使用returen返回一个值,而是每次可以生成多个值,每次一个

  4. 每次使用yield生成一个值后,函数都将冻结,即在此停止执行

  5. 被重新唤醒后,函数将从停止的地方开始继续执行

"""
生成器:也是一种迭代器,所以__next__,next(),for循环都能遍历
"""


def pow():
    yield 1
    yield 2
    yield 3
    yield 4
    yield 5


def pow_number():
    return (x * x for x in [1, 2, 3, 4, 5])


def pow_number2():
    for x in [1, 2, 3, 4, 5]:
        yield x * x


if __name__ == "__main__":
    for i in pow():
        print(i)
    print("------------------")
    for i in pow_number2():
        print(i)
    print("------------------")
    for i in pow_number():
        print(i)

 

以上是关于Python面向对象(11)生成器的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

python全栈开发-Day11 迭代器生成器面向过程编程

python之路之前没搞明白4面向对象(封装)

Python-面向对象练习1

Python面向对象-11.继承介绍

Python面向对象学习之八,装饰器