文章

Python 首批细教程 · 07A:别只会写代码,做一遍 Git + README + Docker 的最小交付

#276 · 2026-05-13 · Python 教程拆解

对应原仓库Day91-100/91.团队项目开发的问题和解决方案.md92.Docker容器技术详解.md

已提供完整示例工程/tutorial-assets/python-100-days/07a-git-readme-docker/(站点源码路径:blog-src/static/tutorial-assets/python-100-days/07a-git-readme-docker/

学到后面,真正的门槛不是“还能不能再多背一个库”,而是:你能不能把别人接得住的项目交出去。

Step 1:起仓库

cd blog-src/static/tutorial-assets/python-100-days/07a-git-readme-docker
git init

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

Step 3:写 README

README.md



一个最小 Python 项目,用来演示交付流程。

## 运行

```bash
python app/main.py

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

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

Step 6:提交

git add .
git commit -m "init tiny project"

这一步对应原仓库哪部分

  • Git:对应团队协作和版本控制。
  • Docker:对应环境复制和交付。
  • README / 测试:对应“让项目能被别人接住”。

进阶任务

  1. 给项目增加 sub(a, b)
  2. 给 README 增加“项目结构”。
  3. 给 Dockerfile 再补一个 requirements.txt 工作流。

常见坑

  • 只有代码,没有运行说明。
  • 有功能,没有测试入口。
  • 环境完全依赖“作者电脑能跑”。