chore: clean repository history

This commit is contained in:
xixu-me committed 2026-06-05 21:13:11 +08:00
commit e1fb2929c0
661 files changed
+167488

No files matched your search

@@ -0,0 +1,119 @@
---
doc_type: short
full_text: sources/00_Setup.md
---
# 00_Setup 总结
## 核心内容
本文是 Practical Python Programming 课程的设置与概览说明,主要介绍课程所需时间、Python 环境要求、仓库准备方式、目录结构、学习顺序以及解答代码的使用建议。
## 课程时长与投入
- 课程最初设计为 3 到 4 天的线下面授培训。
- 若完整学习,建议至少投入 25–35 小时。
- 不直接查看解答代码会更有挑战,但也更有助于掌握内容。
## Python 环境要求
课程只需要基础的 Python 3.6 或更新版本:
- 不依赖特定操作系统。
- 不要求特定编辑器或 IDE。
- 不需要额外 Python 工具链。
- 课程主体不依赖第三方包;第 9 章会出于教学目的演示如何在虚拟环境中安装第三方包,例如 `pandas`。
原课程要求 Python 3.6 或更新版本。以当前实践看,建议使用仍受官方维护的 Python 3.x 版本,并按本机平台选择合适安装包。
课程重点是编写脚本和小程序,尤其是处理文件中的数据。因此,学习者需要能方便地:
- 使用编辑器创建 Python 程序;
- 在 shell 或终端中运行程序;
- 读写并管理本地文件。
## 不建议使用 Jupyter Notebook
文中特别强调不建议使用 Jupyter Notebook 完成本课程。原因是课程不仅关注代码实验,还强调 Python 程序组织,包括:
- 函数;
- 模块;
- import 语句;
- 多文件源代码;
- 代码重构。
这些内容更适合在真实文件系统、编辑器和终端环境中练习,而不是在交互式 Notebook 中完成。
## 课程仓库准备
推荐学习者 fork 官方 GitHub 仓库:
- 官方仓库:https://github.com/dabeaz-course/practical-python
然后克隆到本地:
```bash
git clone https://github.com/yourname/practical-python
cd practical-python
```
如果不想 fork 或没有 GitHub 账号,也可以直接克隆官方仓库:
```bash
git clone https://github.com/dabeaz-course/practical-python
cd practical-python
```
fork 的好处是可以将自己的解答代码提交回个人仓库,形成完整的学习记录;直接克隆则只能在本地保存修改。
这一部分与 Git 与课程仓库管理 相关。
## 课程目录结构
所有编码工作都应在 `Work/` 目录中完成。
其中:
- `Work/`:学习者编写程序和完成练习的主要目录;
- `Work/Data/`:包含课程中使用的数据文件和相关脚本;
- `Solutions/`:包含部分练习的完整解答代码。
课程练习默认学习者在 `Work/` 目录中创建和运行程序,并经常访问 `Data/` 中的数据文件。这与 Python 文件处理 和 [[concepts/课程练习工作流]] 相关。
## 学习顺序
课程材料应按章节顺序完成,从第 1 章开始。
原因是后续章节会建立在前面章节写出的代码之上,许多后续练习会要求对已有代码进行小幅重构。因此,跳过前面内容可能会影响后续练习的连续性。
## 解答代码使用建议
`Solutions/` 目录提供了部分练习的完整解答。文档建议:
- 可以在需要提示时查看;
- 但为了获得最佳学习效果,应先尝试自己完成解答;
- 解答代码更适合作为参考,而不是直接复制。
## 关键观点
1. 本课程强调真实脚本开发环境,而不是纯交互式实验。
2. 学习者应熟悉编辑器、终端、文件系统和 Git 仓库的基本使用。
3. 所有练习应集中在 `Work/` 目录中完成,以符合课程假设。
4. 后续课程会持续复用和重构前面写过的代码,因此学习顺序很重要。
5. 解答代码可作为提示,但独立实现更有助于学习。
## 可延伸概念
- Python 程序组织
- Python 文件处理
- Git 与课程仓库管理
- [[concepts/课程练习工作流]]
## Related Concepts
- [[concepts/Git-与课程仓库管理]]
- [[concepts/Python-开发环境]]
- [[concepts/模块与-import]]
- [[concepts/文件读写]]
- [[concepts/main-函数与脚本结构]]
- [[concepts/函数]]
- [[concepts/包与虚拟环境]]