生成器

发布时间 2023-12-14 21:11:02作者: Formerly0^0

生成器

1. 生成器

  • 生成器是一种特殊的迭代器(迭代器不一定是生成器,但生成器一定是迭代器)
  • 生成器是由函数+yield关键字创造出来的写法,在特定情况下,用他可以帮助我们节省内存

1.1 生成器函数

  • 函数中有yield存在时,这个函数就是生产生成器函数
def func():
    print(111)
    yield 1

1.2 生成器对象

  • 生成器对象,执行生成器函数时,会返回一个生成器对象
def func():
    print(111)
    yield 1

    print(222)
    yield 2

    print(333)
    yield 3

    print(444)
    
data = func()

# 执行生成器函数func,返回的生成器对象。
# 注意:执行生成器函数时,函数内部代码不会执行。

补充特点

生成器的特点是,记录在函数中的执行位置,下次执行next时,会从上一次的位置基础上再继续向下执行