深、浅拷贝

基础:对象,引用,可变与可变

对于不可变的对象,如字符串、元组、数字深浅拷贝没有什么意义。

1、浅拷贝

浅拷贝只拷贝第一层对象(拷贝的实际是一个框子,拷贝过去的框子是不会变的,但是原先的框子里面有可变的对象,修改里面的框子是会发生变化的

>>> import copy
>>> a = [1,2,[1,2],3]
>>> b = copy.copy(a)

>>> b              #b拷贝的是a的第一层框子
[1, 2, [1, 2], 3]

>>> a.append(4)        #a对象发生了更改,b对象并没有发生了改变
>>> b
[1, 2, [1, 2], 3]

>>> a
[1, 2, [1, 2], 3, 4]

>>> a[2].append(3)
>>> a
[1, 2, [1, 2, 3], 3, 4]

>>> b
[1, 2, [1, 2, 3], 3]
>>>
05-07 15:12
查看更多