yield 生成器产出

最后更新:2026-09-22

yield 生成器产出

yield 把函数变成生成器;每次 next() 时函数执行到 yield 处返回值并暂停。

分类关键字与语句
类型关键字与语句
Python 版本all

📝 语法

yield [expression]

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

[0, 1, 2]
更多实战案例即将上线,敬请期待。

❓ 常见问题

Qyield 和 return 有什么区别?
Areturn 结束函数并返回值;yield 把函数变成生成器,每次 next() 执行到 yield 处返回一个值并暂停,下次调用从暂停处继续执行。
Q调用带 yield 的函数为什么没有执行函数体?
A因为调用只是创建了一个生成器对象,函数体要等第一次 next()(或 for 循环、list() 转换)时才真正开始执行。
Q生成器能重复遍历吗?
A不能,生成器是一次性的,遍历完就耗尽,再迭代拿到的是空。要反复遍历就先把结果转成 list,或者重新创建生成器。
Qyield from 是什么意思?
Ayield from iterable 是 for x in iterable: yield x 的简写,用于在生成器里「委托」另一个可迭代对象,逐个产出其中的元素。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏