大家好,我是正在实战各种 AI 项目的程序员晚枫。
处理 100 万条数据,内存只占用几 KB?生成器让这成为可能!
🔄 生成器函数
惰性求值
1 | # 普通函数返回列表(占用大量内存) |
yield 的工作原理
yield 让函数变成生成器。每次遇到 yield,函数:
- 返回一个值
- 暂停执行,保存当前状态
- 下次调用时从暂停处继续
📡 yield from
委托子生成器
1 | def sub_generator(): |
实际应用场景
1 | # 遍历嵌套结构 |
🎯 本讲总结
生成器函数:使用 yield 实现惰性求值。
yield from:委托子生成器,简化代码。
实际应用场景:大文件处理、管道处理、嵌套结构遍历。
📚 推荐教材
《Python 编程从入门到实践(第 3 版)》 | 《流畅的 Python(第 2 版)》 | 《CPython 设计与实现》
学习路线: 零基础 → 《从入门到实践》 → 《流畅的 Python》 → 本门课程 → 《CPython 设计与实现》
🔗 课程导航
💬 联系我
| 平台 | 账号/链接 |
|---|---|
| 微信 | 扫码加好友 |
| B 站 | Python 自动化办公社区 |
主营业务:AI 编程培训、企业内训、技术咨询