深浅拷贝
有三种拷贝:
1、不可变类型不存在深浅拷贝
2、浅拷贝只会拷贝对象本身,其中的元素只会增引用,而不会拷贝其中的元素
3、深拷贝不但拷贝本身,还会拷贝其中的元素
示例:
## 调动copy包
import copy
lt = [[1,10],2,3]
## 不可变类型(赋值)
lt1 = lt
#浅拷贝:只拷贝对象本身
# lt2=lt.copy()
# lt2 = copy.copy(lt)
#
lt3 = copy.deepcopy(lt)
lt[0][0] = 200
print(lt1,id(lt1))
print(lt2,id(lt2))
print(lt3,id(lt3))
## 输出结果:可以看到浅拷贝的改变后生成的结果也改变了,而深拷贝因为把对象里面的元素也拷贝了,相当于与原来的lt没有了关系
[[200, 11], 2, 4] 36169096
[[200, 11], 2, 4] 36169032
[[1, 11], 2, 4] 36168968