python浅拷贝和深拷贝


在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用

直接赋值,传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变

import copy

  1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。(比深拷贝更加节省内存)
  2. copy.deepcopy 深拷贝 拷贝对象及其子对象,比如deepcopy 一个列表或元祖会对其子对象也执行深拷贝

附件: