Python3-2020-测试开发-13- 深浅拷贝
一、定义
""" 浅拷贝和深拷贝 浅拷贝:不拷贝子对象的内容,只拷贝子对象的引用 深拷贝:会将子对象的内存也拷贝,对子对象的修改不会影响源对象 """
二、具体实现
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]
当有些人一出生就有的东西,我们要为之奋斗几十年才拥有。但有一样东西,你一辈子都不会有,那就是我们曾经一无所有。