浅拷贝VS深拷贝
在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。
一般有三种方法:
①直接赋值:传递对象的引用而已,原始列表改变时,被复赋值的b也会做相同的改变。
②copy浅拷贝:没有拷贝子对象,所以原始数据改变,子对象会改变。
③深拷贝:包含对象里面的子对象的拷贝(也就是说,子对象存储的是一个引用),所以原始对象的改变不会造成深拷贝里任何子元素的改变。
浅拷贝VS深拷贝
在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用。
一般有三种方法:
①直接赋值:传递对象的引用而已,原始列表改变时,被复赋值的b也会做相同的改变。
②copy浅拷贝:没有拷贝子对象,所以原始数据改变,子对象会改变。
③深拷贝:包含对象里面的子对象的拷贝(也就是说,子对象存储的是一个引用),所以原始对象的改变不会造成深拷贝里任何子元素的改变。
相关文章: