Skip to main content
Documents
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Python 重点和难点

🎯 Python 学习的 重点(必须掌握)

这些内容掌握后,你才算“能用 Python 做项目”。

1. 数据结构与核心语法(基础中的基础)

重点:

  • list / dict / tuple / set 使用与性能区别
  • 列表推导式、生成器表达式
  • *args / **kwargs
  • import 模块系统

2. 函数 + 面向对象(OOP)

重点:

  • 可变参数
  • 装饰器(在 FastAPI 会大量用)
  • 类、继承、组合
  • 类方法 / 静态方法
  • 魔术方法(__getitem__, __iter__, __enter__, …)

这些直接影响 API 框架、ORM、依赖注入的写法。

3. 异常处理(写稳定项目的关键)

重点:

  • try/except/else/finally
  • 自定义异常
  • FastAPI 中异常模型
  • 数据库异常捕获(SQLAlchemy)

4. 迭代器 / 生成器(Python 的灵魂)

重点:

  • yield
  • 自定义迭代器
  • 惰性求值(节省内存)
  • 大数据处理(不一次性加载)

5. 模块化与代码组织

重点:

  • 包(package)
  • 模块(module)
  • 项目结构设计
  • utils、公用模块的封装方式

6. 异步编程(FastAPI 的核心能力)

重点:

  • async/await
  • 协程模型
  • asyncio 的事件循环
  • 异步数据库、异步 Redis、异步 HTTP

这是 FastAPI 的最大卖点。

7. 类型注解(Type Hints)

重点:

  • typing(如 List, Dict, Union, Optional)
  • TypedDict
  • Pydantic 模型

在现代 Python 项目中是必须掌握的。

8. 第三方库:SQLAlchemy、Pydantic、FastAPI

你的项目核心:

  • SQLAlchemy ORM 模型、会话管理、查询优化
  • Pydantic v2 的数据模型与验证
  • FastAPI 的路由、依赖、错误处理、JWT、权限系统

9. 日志、调试、性能分析

重点:

  • loguru
  • debug 模式封装
  • profiling:cProfile、time.perf_counter

🔥 Python 学习的 难点(初学容易卡,进阶必会)

以下是真正的难点,要理解透才算“精通 Python”。

1. 迭代器 与 生成器(大部分人不理解惰性原理)

难点:

  • yield 的状态机原理
  • 惰性求值 vs 立即求值
  • 生成器何时停止(StopIteration)
  • next() 的工作方式

2. 装饰器(尤其是带参数的装饰器)

难点:

  • 闭包
  • 三层嵌套的函数结构
  • 装饰带参数的函数
  • 装饰器 + FastAPI 依赖注入

3. 异步编程(asyncio 思维难转换)

难点:

  • 协程不是线程
  • await 的暂停点
  • 事件循环的调度机制
  • 阻塞操作如何避免(如数据库、IO)

4. SQLAlchemy ORM(理解非常陡峭)

难点:

  • Session 的生命周期
  • flush vs commit vs expire
  • ORM 转 dict(你也做过这个)
  • 延迟加载
  • select() vs 传统 Query API

5. Pydantic 校验机制

难点:

  • 多层嵌套模型
  • model_validator / field_validator
  • GenericModel
  • BaseModel 转换 ORM 实例

6. Python 的“动态性”

难点:

  • monkey patch
  • 动态导入
  • 元类(metaclass)
  • 动态创建类

通常在框架内部才能见到这些。

7. 内存管理 / 性能优化

难点:

  • GIL
  • 多进程 vs 多线程
  • asyncio + CPU 密集处理问题
  • deque、heapq、bisect 的应用场景

📌 学习 Python 的正确路径(建议)

  1. 第一阶段:巩固 Python 基础

  2. 第二阶段:深入迭代器、生成器、装饰器

  3. 第三阶段:异步 FastAPI、数据库

    • 建议系统整理 Session、事务、依赖注入
  4. 第四阶段:工程化能力

    包括:

    • 优雅的日志与调试系统
    • 模块化框架
    • 可复用工具库