python的浅拷贝和深拷贝

赋值,浅拷贝,深拷贝是Python中复制的三种方式,其中赋值就是用一个变量给另一个变量赋值,其实就是给当前内存中的对象增加一个“标签”而已。

python的浅拷贝和深拷贝

浅拷贝就是对创建一个新的对象,但是其内容是原对象中元素的引用(只拷贝可变数据如列表,字典,不拷贝不可变数据类型如字符串,数字),也可以理解为新瓶装旧酒,下图我们可以看到a和b的地址不同,但是其里面对象的地址是相同的,通过对列表a的改变,我们发现b中的字符串没有改变,而列表却改变了

python的浅拷贝和深拷贝

深拷贝,完全拷贝了一个副本,容器内部元素地址都不一样,可以理解为新瓶装新酒,和浅拷贝一样只拷贝可变数据如列表,字典,不拷贝不可变数据类型如字符串,数字

python的浅拷贝和深拷贝