码迷,mamicode.com
首页 > 编程语言 > 详细

【Python面向对象】(11)生成器

时间:2020-04-15 21:36:13      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:python   style   迭代器   for   包含   main   多个   生成   定义   

介绍

  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)生成器

标签:python   style   迭代器   for   包含   main   多个   生成   定义   

原文地址:https://www.cnblogs.com/ac-chang/p/12708282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!