Python中的对象分为可变对象与不可变对象,其区别主要在于内存地址,也即id的不同
对于不可变对象,浅拷贝与深拷贝没有区别,而对于可变对象,浅拷贝以及赋值语句均是把对象的id赋值给新的拷贝对象,而深拷贝则是会创建新的id
例:
判断id是否相同:
图片.png改变a中的对象,可以看到赋值的b,浅拷贝的c均改变,而深拷贝的d不变,原因就是d已经引用了不同的id:
图片.pngPython中的对象分为可变对象与不可变对象,其区别主要在于内存地址,也即id的不同
对于不可变对象,浅拷贝与深拷贝没有区别,而对于可变对象,浅拷贝以及赋值语句均是把对象的id赋值给新的拷贝对象,而深拷贝则是会创建新的id
例:
判断id是否相同:
图片.png改变a中的对象,可以看到赋值的b,浅拷贝的c均改变,而深拷贝的d不变,原因就是d已经引用了不同的id:
图片.png本文标题:Python浅拷贝与深拷贝的一点简单理解
本文链接:https://www.haomeiwen.com/subject/ceuafxtx.html
网友评论