码迷,mamicode.com
首页 > 编程语言 > 详细

python深浅拷贝的理解和区分

时间:2019-07-05 15:29:19      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:ons   epc   nbsp   不可变   内存   浅拷贝   print   理解   color   

 1 import copy
 2 
 3 a1 = [s1,s2,s3]
 4 
 5 #可变数据类型
 6 a = [1,2,a1]
 7 
 8 b = a
 9 
  a1.append(‘s4‘) 10 #浅拷贝 11 c = copy.copy(a) 12 #深拷贝 13 d = copy.deepcopy(a) 14 15 #可变数据类型打印 16 print(值打印----:) 17 print(a1) 18 print(a) 19 print(b) 20 print(c) 21 print(d) 22 print(地址打印----:) 23 print(id(a1)) 24 print(id(a)) 25 print(id(b)) 26 print(id(c)) 27 print(id(d))

 pythons深浅拷贝
 
深是深挖一层copy
 
可变数据类型时,
 
深拷贝的时候,无论数据类型里面多深,多少数据结构,都会完完整整的复制一份
 -里面的数据产生变化,对深拷贝的值没有影响 -开辟一块空间,把拷贝值放入
浅拷贝,数据产生变化,新变量的值会发生变化
 
浅拷贝,不可变数据类型时,只是把值赋给了新的变量,地址仍指向原来地址
深拷贝,不可变,开辟了新的内存空间,指向新的地址

 

python深浅拷贝的理解和区分

标签:ons   epc   nbsp   不可变   内存   浅拷贝   print   理解   color   

原文地址:https://www.cnblogs.com/goddog1024/p/11138561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!