Python 现代开发学习笔记

练习、提示与参考实现

按任务查到对应代码

练习查阅索引 按章保留任务、核对数据和起点文件。每项有“章号-题号”标记,例如 03-01 对应第三章的“最长连续达标天数”。从这里可以返回正文题目,再打开对应示例、项目模块和测试。

第二至十八章的 122 项练习都有对应讲解,按题号保存推导、带注释实现和运行方法。复杂过程配有中间状态图,操作题则列出完整命令与核对步骤。各章末尾可以直接进入本章题解,也可以从索引按题号查找。

例如增加 Django 评分,要让模型、迁移、表单和测试一起变化;扩充图形类别,则一起修改数据生成、类别、末层和评价。先按任务中的数字与操作顺序完成自己的版本,再对照参考实现。仓库内的相对链接按目录定位文件,下载后保留整份配套目录即可继续查阅。

查阅时可以按下面顺序推进:

  1. 先读任务和样例,写出接收的数据、需要保留的状态与输出。
  2. 用图或表跟踪一份小输入,标出每次判断和更新。
  3. 查看索引里的提示,回到承担相应职责的函数或类。
  4. 写自己的实现,再用任务给出的值与相关测试比较。
  5. 最后读完整参考或项目组合,记录自己的实现与它的差异。

一份练习的查阅过程

第三章 03-01 输入 [35,40,0,45,50,60],目标为 30。先保存“当前连续长度”和“已经出现的最长长度”:达标就延长当前段,不达标就归零,再更新最长值。第三项让当前长度归零,但已经得到的最长两天仍保留;后三项逐步得到三天。

依次处理六天时长,显示当前连续长度和历史最长长度,第三项归零后仍保留历史值,最终得到三

这道题的 提示与推导、带注释实现 和 对应测试 分开保存,可以按阅读进度逐个打开。

# 在“学习索引/参考实现/03-01”中运行样例,再检查其他输入。
py -3.12 longest_streak.py
py -3.12 -m unittest -v

这里使用随 Python 提供的标准库 unittest。命令在当前目录发现测试,运行 TestCase 中的测试方法;-v 列出每项检查的名称与结果。调用与发现规则可查 unittest 命令说明。

普通代码片段与完整项目的查阅方式相同:示例索引先定位主题,完整模块展示如何组合,测试展示输入与预期状态。扩展完成后,把自己的失败输入和新检查放到同一项目里,下次继续修改时再运行。

笔记正文与全部题解 · Ctrl / ⌘ K