02 第2周D9 Python基础
D9 Python 基础
D9 Python 基础
标准(必讲)。公司后端母语(core-api-v2、sub2api 等全是 Python/FastAPI)。本模块给非科班/薄弱者补齐语法,同时第一次正式用 Claude Code 当开发助手。
教学目标(学完能做什么)
- 能看懂并写出基础 Python:变量/数据结构/函数/异常/文件
- 会用 venv 建虚拟环境、pip 装依赖
- 会组织多文件模块(import)
- 能用 Claude Code 辅助编写并自己看懂、验证一个小工具
前置要求
- D5(命令行)、D6(Git,作业要提交)
本模块在业务中的位置
- 后端地基。D10 FastAPI、D15 sub2api 计费、第 4 周项目后端模块全靠它。今天起 Claude Code 正式上岗——但原则是:AI 生成,人来看懂并验证。
内容分段
1. 变量与基础类型
name = "akria" # str
count = 42 # int
price = 0.003 # float
ok = True # bool- 命名:小写下划线(
user_name);不要用中文变量名。
2. 数据结构(后端高频)
users = ["alice", "bob"] # list 列表:有序,可增删
user_map = {"alice": 100} # dict 字典:key→value(超常用)
scores = (95, 88) # tuple 元组:不可变
tags = {"llm", "claude"} # set 集合:去重- 口诀:列表排顺序、字典查名字、元组不可变、集合去重。
3. 控制流与函数
if balance >= cost:
pay()
else:
raise ValueError("余额不足") # 异常
for u in users: # 遍历
print(u)
def count_tokens(text: str) -> int: # 函数 + 类型标注(FastAPI 也用它)
return len(text.split()) # 简化示例,真实 token 计数更复杂- 类型标注(
text: str -> int)是公司代码风格,务必养成。
4. 异常处理
try:
r = requests.get(url, timeout=5)
except requests.exceptions.Timeout:
print("超时,重试")
except Exception as e:
print(f"其他错误: {e}")- 原则:能预见的错误显式捕获,抓不到的大类兜底,永远别吞异常。
5. venv 与 pip(工程基础)
python3 -m venv .venv
source .venv/bin/activate # 进入虚拟环境
pip install fastapi uvicorn # 装依赖
pip freeze > requirements.txt # 锁版本,进 Git- 永远在 venv 里干活,别往系统 Python 里装。
6. 模块与文件组织
myapp/
main.py # 入口
billing.py # 计费逻辑
models.py # 数据模型# main.py
from billing import compute_cost # 导入另一个模块- 公司项目结构类似:
services/core-api-v2/下有多个模块文件。
7. 用 Claude Code 写工具(本模块亮点)
- 工作流(D16 会系统讲,今天先走一遍):
- 描述需求(中文):"写一个 CLI,输入 JSON 文件,统计里面 type=chat 的条数"
- 让 Claude Code 生成代码
- 自己读一遍,不懂就问 Claude Code 解释
- 运行验证,确认输出符合预期
- 提交 Git(中文提交信息)
- 铁律:AI 写的不等于对的,跑通才算数。
讲解节奏建议(约 90 分钟)
| 时段 | 内容 |
|---|---|
| 09:00-09:10 | 引入:Python 是公司后端母语 + Claude Code 今天上岗 |
| 09:10-09:40 | 类型/数据结构/控制流/函数(讲师现场 REPL 演示) |
| 09:40-10:00 | 异常 + venv/pip |
| 10:00-10:20 | 模块组织 |
| 10:20-10:40 | Claude Code 写工具演示(讲师完整走一遍 5 步) |
| 10:40-11:30 | 学员实操(对应作业) |
| 11:30-11:50 | 常见误区 + 小结 |
| 11:50-12:00 | 布置作业 |
常见误区汇总
| 误区 | 正确理解 |
|---|---|
| 变量/注释用中文 | 命名用英文小写下划线;注释/说明用中文 |
| 往系统 Python 装包 | 用 venv 隔离,pip freeze 锁版本 |
| AI 生成的代码直接信 | 必须自己读一遍 + 跑通验证(本培训铁律) |
| 异常 try 一下就好 | 明确捕获 + 记录原因,别吞掉让 bug 静默 |
| 类型标注是装饰 | 公司风格强制,FastAPI 靠它做校验和文档 |
| 一个文件写到底 | 按职责拆模块,import 组织 |