文章
Python 教程拆解索引 · 07:项目交付、工具链与表达
阅读数据加载中…
点赞数据加载中…
说明:本文基于
Day91-100/、番外篇/、公开课/、更新日志.md做原创教学整理,不替代原教程本身。
系列导航:06 数据智能|07 收官与延展
本篇对应材料:
Day91-100/、番外篇/、公开课/、更新日志.md
定位更正:这一页现在只作为“收官专题入口”,不再把团队协作、Docker、测试、面试、工具链全塞进一篇教程正文。
本章细教程
已经拆开的源文件
| 原仓库文件 | 主题 | 教程 |
|---|---|---|
Day91-100/91.团队项目开发的问题和解决方案.md + 92.Docker容器技术详解.md |
Git、README、测试入口、Docker 最小交付 | 07A |
下一批应该继续拆的文件
Day91-100/94.网络API接口设计.mdDay91-100/96.软件测试和自动化测试.mdDay91-100/98.项目部署上线和性能调优.md番外篇/PEP8风格指南.md番外篇/Python编程惯例.md
很多人走到最后,会形成一个错觉:我会 Python、会 Django、会 FastAPI、会一点爬虫和数据分析,所以应该算学会了。
其实还没有。
因为真正让人从“会写代码”走向“能交付项目”的,是下面这些东西:
- Git
- README
- 测试
- 部署
- Docker
- 文档
- 表达
所以最后一篇,我们不讲空话,做一个最小交付练习。
今天你要做出的结果
你会完成一个最小项目骨架,至少包含:
- 一个可运行脚本;
- 一个 README;
- 一个 Git 仓库;
- 一个 Dockerfile;
- 一个简单测试入口。
Step 1:先建项目骨架
mkdir -p practice/day07/tiny_project
cd practice/day07/tiny_project
git init
mkdir app tests
touch app/main.py README.md Dockerfile
Step 2:写一个最小可运行程序
编辑 app/main.py:
def add(a: int, b: int) -> int:
return a + b
if __name__ == "__main__":
print(add(2, 3))
运行:
python app/main.py
输出:
5
Step 3:写 README,而不是只留代码
编辑 README.md:
一个最小 Python 项目,用来练习项目交付。
## 运行
```bash
python app/main.py
预期输出
5
很多初学者最忽视的就是这一步,但项目交付里 README 是第一张脸。
## Step 4:给它加一个测试
新建 `tests/test_main.py`:
```python
from app.main import add
def test_add():
assert add(2, 3) == 5
如果你本机有 pytest,可以安装后运行:
pip install pytest
pytest
这一步对应的就是 Day96 一类内容:不是为了追求测试覆盖率数字,而是为了给重构和交付留安全网。
Step 5:再补一个 Dockerfile
编辑 Dockerfile:
FROM python:3.12-slim
WORKDIR /app
COPY app ./app
CMD ["python", "app/main.py"]
构建并运行:
docker build -t tiny-project-demo .
docker run --rm tiny-project-demo
如果你的机器装了 Docker,这一步就能直接跑通。
Step 6:提交第一版
git add .
git commit -m "init tiny project"
到这里你才算真正做完了一个“可以交付、可以描述、可以重现”的最小项目。
这一步为什么比“继续刷知识点”更重要
因为企业和团队看的不只是你会不会写某个函数,而是:
- 你能不能把项目组织起来;
- 你能不能让别人跑起来;
- 你能不能给项目留下说明;
- 你有没有最基本的测试和发布意识。
这也是为什么 Day91-100、番外篇、公开课 值得放到最后一起看:它们解决的是“项目交付”和“职业表达”的问题。
番外篇和公开课这时怎么用
到了这个阶段,再看这些材料就不再是“顺手看看”,而是有明确用途:
PEP8风格指南.md、Python编程惯例.md:整理代码风格;英语面试.md、Python数据分析师面试题.md:练表达;玩转PyCharm.md:补工具链;年薪50W+的Python程序员如何写代码.md:补工程视角。
本篇练习
- 给
tiny_project增加一个减法函数和对应测试。 - README 里增加“项目结构”小节。
- 如果你已经会一点 Web,把
app/main.py换成一个 FastAPI 或 Flask 小服务。
常见坑
- 坑 1:项目只有代码,没有说明。 别人根本接不住。
- 坑 2:从来不测。 那你一改就可能退化。
- 坑 3:觉得 Docker、Git、README 不算“技术”。 项目交付里它们恰恰很技术。
上一篇:Python 教程拆解 · 06:数据分析与机器学习
回到起点:Python 教程拆解 · 01:按源文件拆,而不是把很多天并成一篇