KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

Python 生成器与 yield 详解 · 课程导读 — keel 龙骨

Python 生成器与 yield 详解 的参考信息:Python 生成器与 yield 详解 · 课程导读

为什么单独开一门课讲 yield

因为它是三个世界的交叉点:

世界 yield 在里面的角色 生产代码里的真实例子
普通同步代码 惰性序列:用到哪个算哪个 分批读取大文件
流式系统 「产出一个、交出去、再产出下一个」的泵 stream_chat 每产生一个事件 yield item
异步框架 asyncio 的历史起点:async/await 的前身就是基于 yield 的协程 SSE 生成器持续推送

一门课讲透一个关键字,是因为它背后是一整套执行模型——理解了「函数可以停在半路」,后面学 async/await、看框架源码都不再是背咒语。

章节地图

章节 关键问题 预习提示
00 return 不够用吗?yield 到底解决什么问题? 30 秒预览实验
01 函数怎么「停在半路」?next/for/StopIteration 逐行演算 本课核心,慢读
02 yield 只能往外吐值吗?send/throw/close 与 yield from 进阶语法
03 async def + yield 是什么?和普通生成器差在哪? 通向异步世界
04 三个真实场景生成器逐行拆解 学以致用
05 十个经典陷阱与自检题 工程防身

学习方式

  1. 每段代码都亲手跑一遍——生成器是「动态的」,光看静态代码永远学不会,你必须在 REPL 里看着 next() 一步步走;
  2. 01 章的逐行演算是全课的地基,看懂了它,03 章的异步生成器只是加了个 await;
  3. 04 章把语言知识和工程场景打通——三个案例都来自生产级流式系统的典型形态,读完能直接对照自己手头的代码。

进入 keel 阅读