python学习
四大容器(用来装数据的“箱子”)
三大语法糖(让代码更短、更爽的“捷径”)
两大懒加载机制(省内存的“魔法”)
本站点使用 MrDoc 构建
-
+
两大懒加载机制(省内存的“魔法”)
### Python 高级编程的灵魂:迭代器与生成器 这两个概念解决的核心痛点只有一个:**内存不够用怎么办?** #### 1. 迭代器 (Iterator) - **本质**:实现了 `__next__` 方法的对象。它不知道一共有多少数据,只知道“你要一个,我给一个”。 - **比喻**:**流水线** 🏭 - 流水线不知道要生产多少个零件,但你每次去拿,它都能给你产出一个; - 它不会把所有零件提前堆在仓库里,从而避免内存爆炸。 #### 2. 生成器 (Generator) - **本质**:一种极其简单的创建迭代器的方式。只要在函数里用 `yield` 代替 `return`,这个函数就变成了生成器。 - **比喻**:**按开关的流水线** ⏯️ - 遇到 `yield` 就暂停,把当前值扔给你; - 等你下次再调用时,它从上次暂停的地方继续生产。 --- > ❓ **为什么需要它们?** > > 假设你要处理 **100GB** 的日志文件,但电脑内存只有 **16GB**: > - ❌ **用列表**:一次性读入,电脑直接死机; > - ✅ **用生成器**:读一行处理一行,内存永远只占**一行**的空间! > 👉 **一句话总结** > > **迭代器是流水线思想,生成器是造流水线的捷径,都是为了省内存。**
admin
2026年10月1日 11:03
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码