知其然,知其所以然
Python 2026-09-29

import 机制:模块查找、缓存与循环导入

本机真实构造了两组循环导入:一组用import整模块+getattr访问真实跑通,另一组用from...import具体名字真实抛出ImportError;还验证了sys.modules是真实的单例缓存。

Python 标准库 真实验证 动画演示
Python 2026-09-29

__init__.py 和包加载:一个包是怎么被导入的

本机真实构造带__init__.py的包,验证import包时先执行__init__.py、__all__限定星号导入范围,以及不写__init__.py的命名空间包依然能被真实导入。

Python 标准库 真实验证 动画演示
Python 2026-09-29

虚拟环境与依赖隔离:venv 背后做了什么

本机真实创建venv,对比pyvenv.cfg、sys.prefix/sys.base_prefix,验证依赖隔离的真实机制和边界。

Python 标准库 真实验证 动画演示
Python 2026-09-29

pip 安装依赖:依赖解析和版本冲突怎么发生

本机真实打包4个互相冲突版本的wheel,验证分步install和合并install对同一个依赖冲突给出完全不同的真实结果。

Python 标准库 真实验证 动画演示
Python 2026-09-29

Python 打包:从 pyproject.toml 到 wheel

本机真实用unzip/tar拆开生成的wheel和sdist文件,验证METADATA/RECORD的真实内容和wheel的zip本质。

Python 标准库 真实验证 动画演示
Python 2026-09-29

logging 系统:Logger、Handler、Formatter 如何协作

本机真实搭建父子logger和多Handler组合,验证root.setLevel()为什么管不住子logger传播来的消息,只有Handler自己的level才生效。

Python 标准库 真实验证 动画演示
Python 2026-09-29

pytest fixture:测试依赖是怎么自动注入的

本机真实用pytest -v -s跑module级和function级fixture的嵌套依赖,验证生命周期差异和基于参数名字符串匹配的注入机制。

Python 标准库 真实验证 动画演示
Python 2026-09-29

Mock 原理:为什么要 patch 使用它的地方

本机真实对比from...import和import module两种写法,验证unittest.mock.patch该填哪个路径才生效,两种写法的答案完全相反。

Python 标准库 真实验证 动画演示
Python 2026-09-29

配置管理:环境变量、配置文件和类型校验如何结合

本机真实验证bool("False")是True、dataclass类型标注不强制转换类型两个会叠加的隐蔽陷阱,并对照TOML解析自带类型的行为。

Python 标准库 真实验证 动画演示
Python 2026-09-29

Python CLI:argparse 如何构建命令行工具

本机真实构造带子命令、互斥参数组的argparse工具,验证Namespace合并方式和统一的SystemExit(2)错误处理机制。

Python 标准库 真实验证 动画演示
Python 2026-09-29

asyncio.TaskGroup:结构化并发如何管理子任务

本机真实用TaskGroup同时起3个不同耗时结局的协程,验证一个子任务失败时其它任务被自动取消,抛出的是ExceptionGroup。

Python asyncio 真实验证 动画演示
Python 2026-09-29

协程取消:CancelledError 为什么必须继续传播

本机真实对比吞掉CancelledError和re-raise两种处理方式,验证只有re-raise的任务才会被判定为真正取消。

Python asyncio 真实验证 动画演示
京ICP备2026067502号-1京公网安备11010502063487号