对码当歌,猿生几何?

python深浅拷贝的理解和区分

   a1 = [,,   a = [1,2  b = 
  a1.append('s4')  c =  d =   (      (     (id(d))

 pythons深浅拷贝

 

深是深挖一层copy

 

可变数据类型时,

 

深拷贝的时候,无论数据类型里面多深,多少数据结构,都会完完整整的复制一份

 -里面的数据产生变化,对深拷贝的值没有影响 -开辟一块空间,把拷贝值放入

浅拷贝,数据产生变化,新变量的值会发生变化

 

浅拷贝,不可变数据类型时,只是把值赋给了新的变量,地址仍指向原来地址

深拷贝,不可变,开辟了新的内存空间,指向新的地址