首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 的闭包到底“包”住了什么?拆开 cell 对象看一眼

Python 的闭包到底“包”住了什么?拆开 cell 对象看一眼

作者头像
小小张说故事
发布于 2026-10-18 13:57:03
发布于 2026-10-18 13:57:03
1360
举报
概述
闭包不是把变量复制进来,而是把一个叫 cell 的盒子跟函数绑在一起;循环里全是 2、闭包让大对象延寿、闭包比可调用类还费内存,三个现象全是同一个 cell 对象在起作用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • Python 的闭包到底"包"住了什么?拆开 cell 对象看一眼
    • 1. 先看一组实验结果:__closure__ 里有什么
    • 2. cell 是"引用"不是"拷贝"
    • 3. 经典坑:循环里的闭包为什么全是 2
    • 4. cell 的隐藏代价:变量延寿
    • 5. 反常识:闭包比可调用类更费内存
    • 6. 字节码层面:三个指令说完全部
    • 7. 实用结论
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档