深拷贝和浅拷贝的区别是什么?
深拷贝是将对象本身复制给另一个对象。这意味着如果对对象的副本进行更改时不会影响原对象。在 Python 中,我们使用 deepcopy()函数进行深拷贝,深拷贝的话,是深层拷贝,拷贝的是对象本身,也就是说会存在两个对象【1,2,3】
深拷贝的目的是需要改变原始对象中的数据,但是又要保留原来的那一份
所以可以深拷贝出来一个副本,修改副本就不会影响到原本
浅拷贝是将对象的引用复制给另一个对象。因此,如果我们在副本中进行更改,则会影响原对象。使用 copy()函数进行浅拷贝
浅拷贝拷贝的是引用,a=[1,2,3],b=a
那么a和b同时指向的是一个对象即【1,2,3】
一般而言没有特殊的必要,python默认浅拷贝,除非原始数据对象需要保存