python浅拷贝和深拷贝

浅拷贝:就是对引用的拷贝(只拷贝父对象)

深拷贝:就是对对象资源的拷贝

浅拷贝把父对象拷贝出来,而其中的数据用的是同一个地址空间。

深拷贝,把对象独立开来,有独立的存储空间和数据和原来的对象没有关系。

所谓浅复制,是指生成一个新的列表,并且把原列表中所有元素的引用都复制到新列表中。如果原列表中只包含整数、实数等基本类型或元组、字符串这样的不可变类型的数据,一般是没有问题的。如果原列表中包含列表之类的可变数据类型,由于浅复制时只是把子列表的引用复制到新列表中,这样的话修改任何一个都会影响另外一个。

#python3.5

import copy

a = [1, 2, 3, [1, 2, "c"], 4]

b = a

c = copy.copy(a)

d = copy.deepcopy(a)

python浅拷贝和深拷贝_第1张图片

import copy

a = [1, 2, 3, 226, 4]

b = a

c = copy.copy(a)

d = copy.deepcopy(a)

python浅拷贝和深拷贝_第2张图片

参考:《python可以这样学》以及其他资源

你可能感兴趣的:(python浅拷贝和深拷贝)