当你在 Python 中定义一个包含
yield
语句的函数时,你就创建了一个生成器(generator)。生成器是一种特殊的迭代器,它允许你逐个产生值,而不需要预先计算或存储整个序列。
##### 1.定义生成器函数 #####
def simple_generator():
for i in range(3):
yield i
##### 2.创建生成器 #####
generator = simple_generator()
print(generator)
##### 3.使用生成器 #####
# 1)使用for循环
for i in generator:
print(i)
# 2)使用next()函数
while True:
try:
value = next(generator)
print(value)
except StopIteration:
break
yield
是一个关键字,用于从一个函数中返回一个值,同时记住函数的状态,以便下一次调用函数时能从上次离开的地方继续执行。这种函数被称为生成器(generator)。生成器在迭代数据集或执行懒加载(lazy loading)时非常有用,因为它允许你逐个产生数据点,而不是一次性加载整个数据集。