在 Python 中,生成器(Generator)是一种特殊类型的迭代器,用于生成一系列的值。生成器的优势在于它们是惰性计算的,即只有在需要时才会生成数据,这使得它们非常适用于处理大量数据或无限序列。生成器使用 yield
关键字返回值,而不是 return
,这使得函数可以在执行中暂停并恢复执行。
1. 生成器的基础
生成器是通过定义一个包含 yield
关键字的函数来创建的。每次调用 yield
,生成器都会返回一个值,并暂停执行,直到下次 next()
被调用时恢复执行。
示例:基础生成器
def count_up_to(limit):
count = 1
while count <= limit:
yield count # 暂停并返回值
count += 1
# 使用生成器
gen = count_up_to(5)
for number in gen:
print(number)
输出:
1
2
3
4
5