python进阶----深拷贝&浅拷贝
复制需要区分,,复制的是源文件的数据,还是指向源文件数据的地址 1.引用 b=a时,理解为b指向了a指向的数据,相当于引用复制 a=[1,2] b=a #验证复制的是数据还是地址 #1.查看ab的地址 id(a) #2677646858824 id(b) #2677646858824#2. a增加1个元素,查看b是否增加a.append(3)a #[1,2,3]b #[1,2,3] 2. 浅拷贝--copy.copy() import copy a=[1,2] b=[3,4] c=[a,b] d=copy.copy(c) #验证问题1:d是否执行c地址 #验证方法1 id(d) #2677647114120 id(c) #2677644514824 #验证方法2 c.append(6) c #[[1, 2], [3, 4], 6] d #[[1, 2], [3, 4]] 结论:d没有指向c的地址 验证问题2:d执行a,b的地址,还是只是复制了a,b的值 #验证方法1 id(d[0]) #2677647113672 id(c[0]) #2677647113672 #验证方法2 a.append(5) c #[[1, 2, 5], [3, 4]] d #[[1, 2, 5], [3, 4]] 结论:,d中的a与c中的a,地址相同,说明d中的a,与c中的a均指向a的地址的