Python 高级编程之进阶语法
所属:阶段一 · 前置核心基础 目标:掌握装饰器、生成器、描述符、元类等进阶特性,能写出「抽象可复用」而非「复制粘贴」的代码。
📌 学习目的
掌握装饰器、生成器、描述符、元类等进阶特性,能写出「抽象可复用」而非「复制粘贴」的代码。
✅ 学习要求(前置条件)
已完成「01_python_advanced_basics」。
📚 主要学习内容
- 装饰器:函数装饰器 / 类装饰器 / 带参装饰器 /
functools.wraps - 生成器与
yield/yield from/async for - 描述符协议:
__get__/__set__/__delete__(理解@property底层) - 迭代器协议:
__iter__/__next__/itertools - 元类基础:
type/__init_subclass__/ABCMeta
📖 对应 docs
- 目录:
docs/01-阶段一-前置核心基础/(按目录名里的第 X 篇对应) - 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
🛠️ 建议练习
- 实现一个带超时与缓存的函数装饰器
- 写一个分批读取大文件的生成器
- 用描述符实现一个类型校验的字段系统(类
pydantic.Field)
🏁 完成后达成标准
- 能写任意结构的装饰器并理解闭包变量捕获
- 能用生成器改造长列表为流式处理
- 能解释描述符与 property 的关系
🚀 运行提示
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/001_phase1_foundations/02_python_advanced_syntax
# 跑你的练习文件
uv run python your_exercise.py