在python中,因为赋值’='是直接引用地址。当采用赋值创建新的可变数据类型时,一旦更改其中的一个变量的值,另外一个变量也会随之改。
此时,为了方便创建两个互不影响的变量,引入了深浅拷贝的概念。
什么是浅拷贝?
在内存中开辟一块新的地址,然后将最外层的元素复制一份(只传值)。内层的元素传址(传递内层中的地址)给新的变量。
浅拷贝的三种方式:
什么是深拷贝?
在内存中开辟新的地址,只复制原拷贝对象的内容,地址完全独立。此时无论怎么修改其中一个的数值,对另外一个都没有任何的影响。
深浅拷贝示意图
结论:
如果只有一层,深浅拷贝都一样。
如果有两层或者两层以上,最好用深拷贝。