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