在 Python 中,生成器(Generator) 是一种特殊的迭代器(Iterator)。 简单来说,生成器允许你定义一个可以像列表一样进行遍历(迭代)的函数,但它不会一次性把所有数据都加载到内存中,而是用一个生成一个(即“惰性求值”)。 以下是关于生成器的详细解释: --- 1. 核心概念:为什么要用生成器? 想象你需要处理 1 亿个数字: 列表(List): Python 会立刻在内存中创建这 1 亿个数字。这会占用巨大的内存,甚至导致程序崩溃。 生成器(Generator): Python 不会立刻创建数字。它只是记住了生成的规则。当你需要第 1 个数字时,它算出来给你;当你需要第 2 个时,它再算第 2 个。它几乎不占内存。 2. 如何创建生成器? 有两种主要方式来创建生成器: 方法 A:生成器函数(使用 关键字) 这是最常见的方法。如果一个函数中包含了 关键字,那么这个函数就变成了一个生成器函数。 :函数执行完毕,返回结果,销毁局部变量。 :函数暂停执行,返回一个值,但保留当前的局部变量和执行状态。下次调用时,从暂停的地方继续执行。 方法 B:生成器表达式 类似于列表...