生成器是Python中处理迭代器的高效方式,通过yield
关键字实现。以下是关键知识点:
1. 生成器定义
生成器函数通过yield
返回值,而非return
。每次调用会暂停执行并保存状态,例如:
def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1
2. 生成器特点
- 惰性求值:按需生成数据,节省内存
- 自动迭代:支持
for
循环直接遍历 - 状态保持:内部变量在多次调用间保留
3. 实践示例
# 生成器表达式
gen = (x**2 for x in range(5))
print(next(gen)) # 输出 0
print(next(gen)) # 输出 1
4. 扩展学习
如需深入了解迭代器与生成器的区别,可访问Python迭代器详解。