yield 是 Python 中用于 生成器(generator)函数 的关键字,作用是 在函数中“暂停”并“返回”一个值,但保留函数的执行状态,使得下次调用时可以从上一次的位置继续执行。
对比 return 和 yield
| 特性 | return |
yield |
|---|---|---|
| 功能 | 返回一个值并退出函数 | 暂时返回一个值,下次从当前位置继续执行 |
| 应用 | 普通函数 | 生成器函数(用于迭代) |
| 可返回多个值 | 否,需要一次性返回完整结构 | 是,可以一个一个“懒加载”地返回 |
示例:基本使用
def count_up_to(max):
count = 1
while count <= max:
yield count
count += 1
# 使用生成器
for num in count_up_to(3):
print(num)
输出:
1
2
3