You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

变量实际存储的是什么?列表[1,2,3]是预存内存还是即时创建?

关于Python变量与内存引用的澄清

当你执行代码 a = [1, 2, 3] 时,这个列表[1, 2, 3]是你执行代码的瞬间在内存中创建的,变量a存储的是这个新创建的列表对象在内存中的引用(类似地址)。

具体过程拆解:

  • 当Python解释器读到[1, 2, 3]这个列表字面量时,会立即在内存中分配空间,创建包含三个元素的列表对象,把元素数据、列表的结构信息都存入这块内存。
  • 紧接着,把这个列表对象的内存引用赋值给变量a,从此a就指向了这块内存区域,通过a就能访问到对应的列表。

补充几个相关细节:

  • 如果后续写b = a,并不是把列表复制一份给b,而是把a存储的引用复制给b,所以a和b会指向同一个列表对象。比如执行a.append(4)后,b的值也会变成[1, 2, 3, 4]。
  • 对于整数、字符串这类不可变小对象,Python会有优化机制(比如整数池、字符串驻留),提前创建一些常用对象复用,但你自定义的字面量列表(像[1,2,3]这种)都是执行时即时创建的,不存在提前存在内存里的情况。

内容的提问来源于stack exchange,提问作者Python Beginner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 21:35:27