关于 python 的内存机制

2023-02-12,,

先看一段代码

L = [1,2,3]
dic_ = {}
L2 = []
for i in L:
dic_['sn'] = i
L2.append(dic_)
print(L2)

输出

[{'sn': 3}, {'sn': 3}, {'sn': 3}]

为什么这样?因为这个 dic_ 自始至终 都只用了一块内存来存储这个值,而对 dic_ 这个存储的变量进行操作时,必然会影响到 L2 里面的值,就像这样

>>> a = [1,2]
>>> b = a
>>> b
[1, 2]
>>> a.pop()
2
>>> a
[1]
>>> b
[1]
>>>

a 和 b 共用一块内存,所以对 a 变量进行操作就影响到了 b,一个比喻说的很好:python 中的变量赋值相当于向内存上贴标签

关于 python 的内存机制的相关教程结束。

《关于 python 的内存机制.doc》

下载本文的Word格式文档,以方便收藏与打印。