python学习

3 阅读3分钟

🎯 总目标(先说清楚)

成为能独立设计、实现、维护 Python 后端系统的人 不是“会写接口”,而是:

  • 能做 系统设计
  • 性能、并发、事务、一致性
  • 工程规范
  • 能和 Java / Go 架构对齐沟通

🧱 阶段一:Python 语言内功(2–3 周)

很多人一辈子都卡在这一步没真正“精通”

学习目标

  • 理解 Python 运行机制
  • 不再写“脚本式代码”

必学内容(重点)

1️⃣ Python 对象模型
  • 一切皆对象
  • __dict____slots__
  • 可变 / 不可变对象
  • 引用、浅拷贝、深拷贝
2️⃣ 魔术方法(不是背)
  • __new__ vs __init__
  • __call__
  • __getattr__ / __getattribute__
  • __repr__ / __str__
  • __eq__ / __hash__
3️⃣ 函数 & 闭包
  • 闭包变量捕获原理
  • late binding 问题
  • 装饰器底层(装饰函数 vs 装饰类)
4️⃣ 类型系统(必须
  • typing
  • Protocol
  • TypedDict
  • Generic
  • 为“架构服务”的类型,而不是为了提示

产出标准

  • 能解释 Python 如何创建对象
  • 能写一个 通用装饰器 + 类型提示
  • 能解释为什么 len(obj) 不走 __getattribute__

🧱 阶段二:并发 / 异步 / IO 模型(2 周)

Python 后端的生死线

学习目标

  • 知道 什么时候 Python 能快
  • 不再盲目上 asyncio

必学内容

1️⃣ GIL 本质
  • 为什么存在
  • 对 IO / CPU 的真实影响
2️⃣ 并发模型对比
模型使用场景
threadingIO
multiprocessingCPU
asyncio高并发 IO
协程池混合
3️⃣ asyncio 深入
  • event loop
  • task / future
  • async vs sync 边界
  • 阻塞点分析
4️⃣ FastAPI 底层
  • ASGI
  • uvicorn
  • sync endpoint 为什么还能跑

产出标准

  • 能解释 为什么 async 函数里不能随便写 CPU 代码
  • 能手写一个 简化版事件循环 demo

🧱 阶段三:Web 框架 & 工程结构(3 周)

从“能跑”到“能维护”

学习目标

  • 写出 生产级项目结构
  • 不再把逻辑写进 controller

必学内容

1️⃣ 框架选择
  • FastAPI(推荐)
  • Django(理解 ORM & 全栈思想)
2️⃣ 工程分层(重点)
api / controller
application(用例层)
domain(领域模型)
infrastructure(DB / MQ / Cache)
3️⃣ 关键模式
  • DTO / VO
  • Repository
  • Unit of Work
  • Service vs Domain Service
4️⃣ 配置管理
  • config 分层
  • env / settings
  • 不同环境隔离

产出标准

  • 能给出一套 你自己的标准项目结构
  • 能解释 为什么 controller 不该直接操作 ORM

🧱 阶段四:数据库 & 事务一致性(2 周)

Python 后端的重灾区

学习目标

  • 不再“数据库随便用”

必学内容

1️⃣ ORM 原理
  • SQLAlchemy Core vs ORM
  • Session 生命周期
  • Lazy Load / N+1
2️⃣ 事务边界
  • 自动提交的坑
  • 显式事务
  • Unit of Work 模式
3️⃣ 并发一致性
  • 乐观锁 / 悲观锁
  • 幂等设计
  • 重试策略

产出标准

  • 能手写一个 UoW
  • 能解释 为什么 Python 更容易事务失控

🧱 阶段五:缓存 / MQ / 分布式(2–3 周)

真正“后端工程师”的门槛

学习目标

  • 能设计 解耦系统

必学内容

1️⃣ Redis
  • 缓存穿透 / 击穿 / 雪崩
  • 分布式锁(RedLock 看清楚)
  • 本地缓存 + Redis
2️⃣ 消息队列
  • RabbitMQ(事件驱动)
  • Kafka(日志流)
  • 事务消息 / 最终一致性
3️⃣ 实战设计
  • HR 离职 → 用户 → 订单 → 权限
  • 广播 / 路由 / 延迟消息

产出标准

  • 能画出 完整事件驱动链路
  • 能解释 为什么 MQ 不等于异步

🧱 阶段六:性能 / 可观测性 / 稳定性(持续)

和“业余开发者”的分水岭

必学内容

  • profiling(cProfile / line_profiler)
  • 日志规范
  • trace / metric
  • 限流 / 熔断
  • graceful shutdown