LESSON 0.2 · 代码 · 90 分钟

Python:对象、迭代器与向量化思维

Python:对象、迭代器与向量化思维:理解引用语义、广播、切片、生成器与复杂度,完成“不用循环实现批量 bigram 计数”。属于「进入模型之前」学习阶段。

学完你应该能够

  1. 能不用术语堆砌,解释「Python:对象、迭代器与向量化思维」解决了什么问题。
  2. 能围绕 引用语义、广播、切片 画出变量与因果关系。
  3. 能完成「不用循环实现批量 bigram 计数」,并用证据而不是感觉判断结果。

核心概念

引用语义

引用语义要落在一个可手算的小例子上:写清输入、运算、输出与单位,再用代码对拍。 先给它一个可操作的定义,并指出它解决的具体问题。

广播

广播首先是内存与索引契约:它决定哪些元素参与同一次运算,以及结果如何排列。调试时打印维度只是起点,还要检查广播是否悄悄复制了你不想要的关系。

切片

切片首先是内存与索引契约:它决定哪些元素参与同一次运算,以及结果如何排列。调试时打印维度只是起点,还要检查广播是否悄悄复制了你不想要的关系。

生成器与复杂度

生成器与复杂度要落在一个可手算的小例子上:写清输入、运算、输出与单位,再用代码对拍。 用反例说明忽略它时系统会怎样失败。

实践任务

不用循环实现批量 bigram 计数

  • 预测:在运行代码前,写下你预期的输出、趋势或失败位置。
  • 构建:先写接口和 shape 断言,只保留回答核心问题所需的最小组件。
  • 验证:使用手算结果、NumPy/PyTorch 对拍与边界输入;保存参数、随机种子与原始结果。
  • 迁移:换一个 shape、dtype 或数据分布后重新预测结果,说明原结论是否仍成立。

进入完整互动课程