# python-learning-in-action **Repository Path**: zhangwei5095/python-learning-in-action ## Basic Information - **Project Name**: python-learning-in-action - **Description**: python演示学习 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-28 - **Last Updated**: 2026-06-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # python-learning-in-action Python 核心知识点教学演示项目。每个知识点独立模块,通过 FastAPI 提供交互式演示。 ## 涵盖的知识点 | 模块 | 路径 | 内容 | |------|------|------| | **ABC / Protocol** | `demo_protocol_abc/` | 抽象基类继承体系、Protocol 鸭子类型、`__subclasshook__`、泛型 Protocol | | **asyncio + 协程** | `demo_async/` | 协程基础、并发控制、Task、超时、Queue 生产者-消费者、Semaphore 限流、TaskGroup、真实文件 I/O 和 TCP | | **推导式** | `demo_comprehension/` | 列表/字典/集合推导式、生成器表达式(含 153MB vs 208B 内存对比) | | **NumPy** | `demo_data/numpy_demo.py` | 数组创建、向量化运算(加速比 12x~38x)、广播机制、花式索引、`np.where` | | **Pandas** | `demo_data/pandas_demo.py` | Series/DataFrame、筛选、GroupBy、数据清洗、Merge、`apply`、透视表、`cut`/`melt`/`rolling` | | **@dataclass** | `demo_dataclasses/` | 数据类基础——`field`/`frozen`/`__post_init__`/`slots` | | **装饰器与上下文管理器** | `demo_advanced_oop/` | 闭包、`@wraps`、带参数装饰器、`__enter__`/`__exit__`、`@contextmanager`、`@property` | | **标准库实战** | `demo_stdlib/` | `itertools`/`functools`/`pathlib`/`match-case` 模式匹配 | | **类型注解进阶** | `demo_type_hints/` | `TypedDict`/`Literal`/`TypeVar`/`Generic`/`@overload` | ## 快速开始 ```bash pip install -r requirements.txt uvicorn main:app --reload ``` 然后访问 http://127.0.0.1:8000/docs 查看 Swagger 交互式文档。 ### 一键运行所有演示 访问 http://127.0.0.1:8000/demo/all 或命令行直接运行: ```bash python main.py ``` ### 逐个学习 | 端点 | 说明 | |------|------| | `/demo/abc-protocol` | ABC + Protocol(含 subclasshook、泛型 Protocol) | | `/demo/async` | asyncio 异步编程全集(10 部分,含 Queue/Semaphore/TaskGroup) | | `/demo/comprehension` | 推导式全系列 | | `/demo/numpy` | NumPy 高性能计算(含花式索引、拼接) | | `/demo/pandas` | Pandas 数据分析(含 apply、透视表、cut) | | `/demo/dataclass` | @dataclass 数据类 | | `/demo/decorator` | 装饰器 + 上下文管理器 + @property | | `/demo/stdlib` | 标准库实战(itertools/functools/pathlib/match-case) | | `/demo/type-hints` | 类型注解进阶 | | `/demo/all` | 一键运行全部 9 个模块 | ## 项目结构 ``` python-learning-in-action/ ├── main.py # FastAPI 主入口 ├── requirements.txt # 依赖列表 ├── demo_protocol_abc/ │ └── abc_protocol_demo.py # ABC + Protocol ├── demo_async/ │ └── async_demo.py # asyncio + 协程 ├── demo_comprehension/ │ └── comp_demo.py # 推导式 ├── demo_data/ │ ├── numpy_demo.py # NumPy │ └── pandas_demo.py # Pandas ├── demo_dataclasses/ │ └── dataclass_demo.py # @dataclass ├── demo_advanced_oop/ │ └── decorator_demo.py # 装饰器/上下文管理器 ├── demo_stdlib/ │ └── stdlib_demo.py # itertools/functools/pathlib └── demo_type_hints/ └── type_hints_demo.py # 类型注解进阶 ``` ## 环境要求 - Python 3.10+ - FastAPI - uvicorn - pandas - numpy