会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
小小张说故事
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
下一页
2026年10月20日
Python 的 yield 到底暂停了什么?拆开 generator 的栈帧,看 192 字节怎么装下整个现场
摘要: 结论先行:yield 不是「函数返回」,而是「带着现场离开」——生成器把局部变量、执行位置、甚至待接收的返回值,全部塞进一个 192 字节的 generator 对象加一块 184 字节的栈帧里;恢复执行时,栈帧原地满血复活。实测这份「现场」的性价比高得惊人:产出 10 万个斐波那契数,生成器全程只
阅读全文
posted @ 2026-10-20 08:25 小小张说故事
阅读(4)
评论(0)
推荐(0)
2026年10月19日
Python 的 import 为什么第二次几乎不要钱?sys.modules 缓存与模块单例的代价
摘要: 系列:Python 底层设计逻辑|类型:原理拆解型|分发:CSDN / 博客园 / 腾讯云 / 知乎(回答改写) 字数:约 1700 字|实验环境:CPython 3.13.14(64 位,Windows) Python 的 import 为什么第二次几乎不要钱?sys.modules 缓存与模块单
阅读全文
posted @ 2026-10-19 11:11 小小张说故事
阅读(9)
评论(0)
推荐(0)
2026年10月18日
Python 的闭包到底“包”住了什么?拆开 cell 对象看一眼
摘要: 系列:Python 底层设计逻辑|类型:原理拆解型|分发:CSDN / 博客园 / 腾讯云 / 知乎(回答改写) 字数:约 1700 字|实验环境:CPython 3.13.14(64 位,Windows) Python 的闭包到底"包"住了什么?拆开 cell 对象看一眼 结论先行:闭包不是"把变
阅读全文
posted @ 2026-10-18 11:40 小小张说故事
阅读(7)
评论(0)
推荐(0)
2026年10月17日
Python 函数调用到底慢在哪?一次调用背后的栈帧、字节码和名字查找,3 个实验看明白
摘要: 系列:Python 底层设计逻辑|类型:原理拆解型|分发:CSDN / 掘金 / 博客园 / 51CTO / 阿里云 / 知乎(回答改写) 字数:约 1700 字|实验环境:CPython 3.10.0 / 3.13.14(64 位) Python 函数调用到底慢在哪?一次调用背后的栈帧、字节码和名
阅读全文
posted @ 2026-10-17 11:31 小小张说故事
阅读(8)
评论(0)
推荐(0)
2026年10月16日
Python 的 super() 到底在找谁?MRO(方法解析顺序)一次讲透
摘要: 结论先行:super() 找的不是"父类",而是 MRO(方法解析顺序)链表里、位于当前类"之后"的那一个类。单继承时这两者恰好重合,所以用错了也没人发现;一旦上了多继承,两者立刻分道扬镳——你以为 super().hello() 在调父类的方法,它偏偏调了另一个分支。这篇用一个菱形继承例子,把 M
阅读全文
posted @ 2026-10-16 10:36 小小张说故事
阅读(8)
评论(0)
推荐(0)
2026年10月14日
Python 的 sorted 为什么又快又稳?Timsort 的归并秘密一次讲透
摘要: 系列:Python 底层设计逻辑|类型:原理拆解型|分发:CSDN / 博客园 / 腾讯云 字数:约 1700 字 结论先行:Python 的 sorted 和 list.sort 用的是 Timsort——一种"先找有序段、再把有序段归并起来"的混合排序算法。它在最好情况下只要 O(n)(数据本来
阅读全文
posted @ 2026-10-14 10:53 小小张说故事
阅读(5)
评论(0)
推荐(0)
2026年10月13日
Python 的垃圾回收到底回收了谁?引用计数+分代回收一次讲清
摘要: 结论先行:CPython 的垃圾回收主力是引用计数——每个对象头里存着一个计数,引用清零的瞬间对象立即被释放,实时性拉满。但引用计数有一个致命软肋:循环引用(A 指着 B、B 指着 A,计数永远降不到 0)。为了兜这个底,CPython 又叠加了第二套机制:分代回收(generational GC)
阅读全文
posted @ 2026-10-13 11:17 小小张说故事
阅读(13)
评论(0)
推荐(0)
2026年10月11日
Python 的 dataclass 到底省了多少样板代码?3 个对比讲清
摘要: 结论先行:dataclass 不是一个新数据类型,而是@dataclass装饰器——它替你自动生成__init__、__repr__、__eq__这几个最烦的样板方法。一个原本要写 30 行的数据类,加一个装饰器可能只剩 5 行。一句话:dataclass = 用声明代替手写的样板代码,专注"数据长
阅读全文
posted @ 2026-10-11 15:51 小小张说故事
阅读(8)
评论(0)
推荐(0)
2026年10月10日
Python 的 with 到底在干啥?上下文管理器原理拆解,3 个场景看明白
摘要: 结论先行:Python 的 with 不是语法糖,而是一套"自动收尾"协议——只要一个对象实现了 __enter__ 和 __exit__ 两个方法,就能进 with 块时自动"开门"、出块时不管有没有报错都自动"关门"。它解决的只有一个问题:资源别漏关。文件、锁、数据库连接、事务,凡是"用完了必须
阅读全文
posted @ 2026-10-10 16:21 小小张说故事
阅读(4)
评论(0)
推荐(0)
2026年10月9日
Python 的 GIL 到底卡住了啥?为什么多线程跑不快,3 个实验看清真相
摘要: 系列:Python 底层设计逻辑|类型:原理拆解型|分发:CSDN / 博客园 / 腾讯云 字数:约 1600 字 结论先行:GIL(全局解释器锁)是 CPython 里一把"全局锁",保证同一时刻只有一个线程在跑 Python 字节码。它锁的是"解释器执行权",不是你的变量。所以 CPU 密集型任
阅读全文
posted @ 2026-10-09 10:59 小小张说故事
阅读(12)
评论(0)
推荐(0)
上一页
1
2
3
4
5
下一页
公告