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

MRO 与 C3 线性化:多继承时 Python 如何决定方法顺序

本机真实构造一个菱形继承D(B,C),验证D.__mro__真实是[D,B,C,A,object],交换成E(C,B)后MRO真实跟着整体翻转;再真实构造一个无法线性化的继承关系,验证Python真实会直接报TypeError拒绝创建这个类。

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

super():它为什么不一定调用"父类方法"

本机真实构造D(B,C)菱形继承,验证B.greet()里的super().greet()真实调用到的是C.greet()而不是A——B在类定义上唯一声明的父类是A,但super()真实按MRO顺序走,B的下一个真实是C,不是A。

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

@functools.wraps 不加会怎样:一个插件注册表被真实覆盖的例子

真实验证:不加 functools.wraps,装饰后的函数 __name__ 会统一变成 wrapper——真实搭一个用函数名当 key 的插件注册表,两个业务处理函数因为重名互相覆盖,注册表从 2 个真实缩水成 1 个,调用其中一个实际执行的是另一个;加上 wraps 后 inspect.signature 也能正确还原出原函数签名,不再是 (*args, **kwargs);真实验证多层装饰器叠加时 __wrapped__ 只指向下一层,要拿到最原始的函数得用 inspect.unwrap 顺着链条走到底。

装饰器 functools
Python 2026-08-06

GIL:为什么多线程跑不满多核

CPU密集与I/O密集任务下多线程加速比的真实对比实测。

并发 解释器内部 动画演示
Python 2026-08-06

有了 GIL,为什么还要手动加锁

字节码级别原子性与语句级别竞态条件的真实边界。

并发 锁 动画演示
Python 2026-08-06

引用计数:对象什么时候真的被释放

不朽对象、循环引用与分代GC的真实源码与实测。

内存管理 垃圾回收 动画演示
Python 2026-08-06

生成器:yield 怎么暂停又恢复

生成器帧对象与 asyncio 协程并发规模的真实对比。

生成器 协程 动画演示
Python 2026-08-06

dict:开放寻址与插入顺序

紧凑双数组设计、哈希碰撞与真实扩容阈值实测。

哈希表 数据结构 动画演示
Python 2026-08-06

元类:class 语句背后的真相

真实拦截 class 语句证明元类被调用,__build_class__ 四步流程与元类冲突判定的真实源码。

元类 语言机制 动画演示
京ICP备2026067502号-1京公网安备11010502063487号