小结
python深浅拷贝
# 拷贝(赋值)
# l1 = [1,2,3]
# l2 = l1
# l1.append(4)
# print(l1)
# print(l2)
# 由于列表是可变类型,所以l1的值产生变更,l2的值也会随着变更(这就是拷贝)
# 浅拷贝
# import copy #
# l1 = [1,2,3,4,[5,6,7]]
# l2 = copy.copy(a) #(浅拷贝)
# l1.append(8)
# print(l1) #
# print(l2) #
# l1[4].append(8)
# print(l1)
# print(l2)
# 当b为a的浅拷贝对象时,a内可变类型变更,b变更,a内不可变型变更,b不变更
# 深拷贝
# import copy
# l1 = [1,2,3,[4,5,6]]
# l2 = copy.deepcopy(l1)
#l1.append(7)
#print(l1)
#print(l2)
# s[3].append(7)
# print(l1)
# print(l2)
# 注:当l2为l1的深拷贝对象时,l1内的可变类型变更,l2不变更;l1的不可变型变更;l2不变更
# 总结
# 牢记:拷贝、浅拷贝、深拷贝 只针对可变数据类型
# 拷贝: 当lt2为lt的拷贝对象时,lt内的可变类型变更,lt2变更;lt内的不可变类型变更,lt2变更
# 简略的赋值
# 浅拷贝:当lt2为lt的浅拷贝对象时,lt内的可变类型变更,lt2变更;lt内的不可变类型变更,lt2不变更
# copy.copy() 可变数据的类型中的内置办法.copy()
# 深拷贝: 当lt2为lt的深拷贝对象时,lt内的可变类型变更,lt2不变更;lt内的不可变类型变更,lt2不变
# copy.deepcopy()
### 作用:毫无用途,面试常常问# 拷贝(赋值)
# l1 = [1,2,3]
# l2 = l1