Skip to content

Python 知识地图

Python 文档要按“能写脚本、能做 Web、能处理数据、能接 AI、能排查线上问题”的路线补齐。不能只罗列语法,也不能只给几个脚本片段。

学习路线

mermaid
flowchart TD
    A["环境与包管理"] --> B["基础语法和数据结构"]
    B --> C["函数、模块和面向对象"]
    C --> D["异常、文件和类型标注"]
    D --> E["并发、异步和日志调试"]
    E --> F["数据库、Web API 和测试"]
    F --> G["数据分析、爬虫、CLI 和 AI 开发"]
    G --> H["项目结构、部署和面试"]

每个模块必须补什么

模块必讲原理必备 Demo
环境与包管理Python 解释器、虚拟环境、pip、依赖锁定、包导入路径创建 venv、安装依赖、导出 requirements
基础语法动态类型、变量引用、可变/不可变对象、作用域参数传递、列表和字典修改
数据结构list、tuple、dict、set、切片、推导式、复杂度订单去重、分组统计
函数模块函数对象、闭包、装饰器、模块搜索路径日志装饰器、业务模块拆分
OOP类、实例、继承、组合、魔术方法、数据类支付策略、DTO 建模
异常与文件异常传播、上下文管理器、编码、文件流CSV 读取、错误行记录
类型标注typing、泛型、Protocol、mypy 思路API 返回类型、Repository 接口
并发异步GIL、线程、进程、asyncio、事件循环并发请求下游接口
Web API路由、请求响应、中间件、参数校验、异常处理FastAPI CRUD 接口
数据库连接池、事务、参数绑定、防 SQL 注入MySQL 查询和事务提交
数据分析NumPy、Pandas、缺失值、分组、透视采集数据清洗报表
爬虫自动化HTTP、解析、限速、重试、反爬边界抓取公开页面并清洗
测试日志pytest、fixture、mock、logging、调试服务函数单测和日志追踪
Python AIAPI 调用、Embedding、RAG、工具调用文档问答最小 Demo

Python 原理重点

mermaid
flowchart TD
    A["Python 代码"] --> B["解释器执行"]
    B --> C["对象模型"]
    C --> D["引用计数和 GC"]
    D --> E["GIL 影响线程并行"]
    E --> F["asyncio 用单线程调度 IO"]

重点要讲清:

  1. Python 变量保存的是对象引用,不是直接保存对象本身。
  2. list、dict 是可变对象,函数里修改会影响外部对象。
  3. GIL 限制的是同一进程内 Python 字节码并行执行,不代表线程完全没用。
  4. IO 密集任务适合线程或 asyncio,CPU 密集任务更适合多进程或原生扩展。
  5. 类型标注不改变运行时类型,但能提升可维护性和工具检查能力。

商业场景要求

Python 文档中的 Demo 要优先围绕这些场景:

场景需要覆盖
运维脚本参数解析、日志、异常、退出码
数据清洗文件读取、缺失值、异常行、导出报表
后台接口FastAPI、校验、数据库、测试
爬虫采集限速、重试、解析、存储、合规边界
AI 应用调模型、RAG、工具调用、结果校验

面试闭环

Python 面试页要按下面方式组织:

mermaid
flowchart TD
    A["面试问题"] --> B["标准回答"]
    B --> C["追问:原理是什么"]
    C --> D["跳转到知识点页"]
    D --> E["Demo 和商业场景"]

高频问题必须覆盖:

  1. list 和 tuple 区别。
  2. dict 为什么查询快。
  3. 深拷贝和浅拷贝。
  4. 装饰器原理。
  5. 生成器和迭代器。
  6. GIL 是什么。
  7. 线程、进程、协程区别。
  8. async/await 工作原理。
  9. with 上下文管理器。
  10. Python 项目如何组织和测试。

本章小结

Python 文档要从“脚本能跑”提升到“知道对象模型、并发边界、工程结构和商业场景”。每个页面都要有可运行 Demo、原理解释和真实使用边界。