Q 2:深拷贝和浅拷贝之间的区别是什么?
深拷贝就是将一个对象拷贝到另一个对象中,这意味着如果你对一个对象的拷贝做出改变时,不会影响原对象。在 Python 中,我们使用函数 deepcopy() 执行深拷贝,导入模块 copy,如下所示:
import copy
b=copy.deepcopy(a)
深拷贝在内存中占用两块内存空间,如下图所示:
浅拷贝则是将一个对象的引用(相当于c语言的指针
)拷贝到另一个对象上,所以如果我们在拷贝中改动,也会影响到原对象。我们使用函数 copy() 执行浅拷贝,使用如下所示:
b=copy.copy(a)
浅拷贝在内存中共用一块内存空间,如下图所示: