1.赋值:
只是复制了原对象的引用,不会开辟新的内存空间,并不会产生一个独立的对象单独存在,只是将原有的数据块打上一个新标签,所以当其中一个标签被改变的时候,数据块就会发生变化(这是对可变对象来说,不可变对象不是这种情况)。
2.浅拷贝
指的是重新分配一块内存,创建一个新的对象,但里面的元素是原对象中各个子对象的引用。
3.深拷贝
是指重新分配一块内存,创建一个新的对象,并且将原对象中的元素,以递归的方式,通过创建新的子对象拷贝到新对象中。
下面的两个博文写的挺好,具体可以参考一下:
Python中的赋值(复制)、浅拷贝与深拷贝 - 知乎 (zhihu.com)
Python深拷贝和浅拷贝详解 (biancheng.net)