版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hzhj2007/article/details/79913633
数据复制时,会涉及到浅拷贝与深拷贝,简单理解就是
浅拷贝:两个数据变量复制后指向同一个内存地址;
深拷贝:两个数据变量复制后指向了不同的内容地址;
>>> a=[3,2]
>>> id(a)
32495952
>>> b=a
>>> id(b) #a,b变量的地址相同
32495952
>>> b[0]=1
>>> a #对b变量的改变同时也是对a变量的操作
[1, 2]
>>> import copy
>>> b=copy.deepcopy(a) #深拷贝命令
>>> id(b) #拷贝后指向了新的内存地址
140261733704480
>>> b
[1, 2]
>>> a #import前对b变量的改变后导致a,b=[1, 2]
[1, 2]
>>> b[0]=9
>>> b #此时对变量b的操作不会影响变量a的值
[9, 2]
>>> a
[1, 2]