[笔记]Python深拷贝和浅拷贝

来源:互联网 发布:soulmate 知乎 编辑:程序博客网 时间:2024/06/03 20:56
A为已有容器,B作为A的拷贝:
浅拷贝:
A,B地址不同,A,B中元素的地址是相同的。
浅拷贝的特点,只是将容器内的元素地址复制了一份。
如果修改A中的可变类型-->A,B中对应元素的地址不变,内容保持一致
如果修改A中的不可变类型-->A中对应元素的地址和内容会改变,A,B对应元素地址和内容不同

深拷贝:
A,B地址以及A,B中元素的地址都不相同。(可变元素地址不同,不可变元素相同)
深拷贝是完全拷贝一个副本。
修改A中的任意元素-->A,B对应元素的地址和内容都不同


PS:可变类型VS不可变类型-->指的是内存中的那块内容(value)是否可以被改变
可变:List、Dict
不可变:数字、字符串、元组

参考:http://python.jobbole.com/82294/