Python 生成器是什么?yield 怎么工作?
社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
生成器 = 含 yield 的函数(或生成器表达式),调用函数不执行体,返回生成器对象;每次 next()/for 迭代执行到 yield 暂停并返回值,保存状态(局部变量、执行位置),下次从暂停处继续。好处:① 惰性求值、省内存(处理大文件/无限序列);② 保存状态简洁(替代手写迭代器)。应用:逐行读大文件、流水线处理、生成无限斐波那契。函数结束时抛 StopIteration。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。