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)生成器的主要内容,如果未能解决你的问题,请参考以下文章