- 直接赋值:就是赋值引用,将两个标识符同时指向了同一个对象,创建了别名
a = b
#a和b指向同一个对象,是同一个对象的不同名称
- 浅拷贝:只拷贝父对象,不拷贝子对象
a = [1,2]
b = a.copy()
python中列表是一个参考结构,也就是说,列表的内部元素储存的是元素的引用,而不是元素本身。因此对于上面的代码,只拷贝父对象指的是完成拷贝之后a和b是两个独立的对象,不拷贝子对象指的是并没有拷贝列表内部元素的引用,a,b内部的元素(是引用)指向的还是同一个内容,因此对a或b的元素进行修改,另一个会发生相同的变化。
- 深拷贝
import copy
a = [1,2]
b = copy.deepcopy(a)
父对象和子对象都拷贝,都是独立的