生成器是Python中处理迭代器的高效方式,通过yield关键字实现。以下是关键知识点:

1. 生成器定义

生成器函数通过yield返回值,而非return。每次调用会暂停执行并保存状态,例如:

def count_up_to(n):
    count = 1
    while count <= n:
        yield count
        count += 1
Generator_Function

2. 生成器特点

  • 惰性求值:按需生成数据,节省内存
  • 自动迭代:支持for循环直接遍历
  • 状态保持:内部变量在多次调用间保留

3. 实践示例

# 生成器表达式
gen = (x**2 for x in range(5))
print(next(gen))  # 输出 0
print(next(gen))  # 输出 1

4. 扩展学习

如需深入了解迭代器与生成器的区别,可访问Python迭代器详解

Python_Generator_Example