python中深拷贝和浅拷贝有什么区别

结论一. 单层拷贝,不考虑嵌套的情况下
不管深浅拷贝对于不可变类型来说都是引用复制,引用相同的内存地址。
不管深浅拷贝对于可变类型来说都会创建新的内存空间

结论二. 多层的情况下
浅拷贝:
1.外层是不可变类型,不管内层是否可变都是引用拷贝
2.外层是可变类型,不管内层是否可变都会创建新的内存空间
深拷贝:
1.外层是不可变类型,会递归判断内层的数据类型,如果可变则创建新的内存地址、都为不可变就是引用拷贝
2.外层是可变数据类型,不管内层是否可变都会创建新的内存地址,但是内部如果为可变则递归创建,不可变则为引用地址。

posted @ 2021-01-28 17:26  倪某人  阅读(32)  评论(0)    收藏  举报