第 1 版第 1 次印刷勘误¶
最后更新:2026/1/28
纸书¶
纸书的版本号格式为“版本号-印次号”,“1-1”即“第 1 版第 1 次印刷”。每一次重印会修正上一印次包含的所有错误,版本号可以在版权页看到。
1-1(第 1 版第 1 次印刷)¶
发布时间:2025/11/21
重要勘误¶
此处的勘误为会影响程序运行和或造成理解错误,建议在阅读前标记到书上的相应位置。
| 位置 | 错误 | 正确 | 备注 |
|---|---|---|---|
| P7 倒数第二个代码块 | [tool.pdm.dev-dependencies] |
[dependency-groups] |
分组依赖表名称错误,系 PDM 新版本变更所致 |
| P7 倒数第二个代码块上的描述 | 开发依赖会被写入 pyproject.toml 文件的 [tool.pdm.dev-dependencies] 表中 |
开发依赖会被写入 pyproject.toml 文件的 [dependency-groups] 表中 |
分组依赖表名称错误,系 PDM 新版本变更所致 |
| P146 代码清单 5-1 | SQLITE_PATH = Path(__file__).resolve() / 'data.db' |
SQLITE_PATH = Path(__file__).resolve().parent / 'data.db' |
SQLITE_PATH 变量少了 parent 属性 |
| P203 代码块 | SQLITE_PATH = Path(__file__).resolve() / 'data.db' |
SQLITE_PATH = Path(__file__).resolve().parent / 'data.db' |
SQLITE_PATH 变量少了 parent 属性 |
| P24 倒数第四行 | flaskrun–help |
flask run --help |
出版社引入的排版错误 |
| P51 第一行 | 现在访问 http://localhost:5000/hello | 现在访问 http://localhost:5000/response | 路径错误 |
| P143 第二个代码块 | __tablename = 'contacts' |
__tablename__ = 'contacts' |
变量结尾下划线缺失 |
| P161 代码块第 2 行 | notes[0]['Note'] # 使用名字获取元素 |
notes[0]._mapping['Note'] # 使用模型类名获取元素 |
代码错误 |
| P161 第 2 个代码块第 6 行 | notes[0]['id'] |
notes[0]._mapping['id'] |
代码错误 |
| P161 第 2 个代码块第 8 行 | notes[0]['title'] |
notes[0]._mapping['title'] |
代码错误 |
| P164 第二段文字括号部分 | 但必须添加 % 符号 | 但不用添加 % 符号 | 出版社瞎改 |
| P164 表格第七行 | endnswith | endswith | 拼写错误 |
| P168 第 2 个代码块第 6 行 | Note.body='...' |
body='...' |
代码错误 |
| P168 第 2 个代码块 | 没有提交会话 | 最后添加一行 db.session.commit() 调用 |
代码缺失 |
| P176 第 2 个代码块 | 不用提交会话 | 去除最后一行 db.session.commit() 调用 |
代码冗余 |
出版社引入的排版问题¶
- 前言 VIII 第四个代码块,代码缩进丢失。
- 全书的所有注释被调整了和代码的距离。原代码为两个空格。
相关提示¶
P10:Windows 命令差异¶
pdm run which python 在 Windows PowerShell 下需要替换为 pdm run where python