一、定义
""" 浅拷贝和深拷贝 浅拷贝:不拷贝子对象的内容,只拷贝子对象的引用 深拷贝:会将子对象的内存也拷贝,对子对象的修改不会影响源对象 """
二、具体实现
2.1 浅拷贝
import copy def test_copy(): a = [10,20,[60,70]] b = copy.copy(a) print("a-----:",a) # a-----: [10, 20, [60, 70]] print("b-----:",b) # b-----: [10, 20, [60, 70]] b.append(30) b[2].append(80) print("浅拷贝...") print("a-----:", a) # a-----: [10, 20, [60, 70, 80]] print("b-----:", b) # b-----: [10, 20, [60, 70, 80], 30]
修改b的时候,更改了a中的a[2]
2.2 深拷贝
def test_deep_copy(): a = [10,20,[60,70]] b = copy.deepcopy(a) print("a-----:",a) # a-----: [10, 20, [60, 70]] print("b-----:",b) # b-----: [10, 20, [60, 70]] b.append(30) b[2].append(80) print("深拷贝...") print("a-----:", a) # a-----: [10, 20, [60, 70]] print("b-----:", b) # b-----: [10, 20, [60, 70, 80], 30]