欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

深拷贝和浅拷贝的区别

程序员文章站 2024-01-17 22:02:10
...

浅拷贝 shallow copy
    浅拷贝是指在复制过程中,只复制一层变量,不会复制深层变量绑定额对象的复制过程
    示例:

L = [3.1,3.2]        
L1 = [1,2,L]        
L2 = L1.copy() #浅拷贝        
print(L1) #[1, 2, [3.1, 3.2]]       
print(L2) #[1, 2, [3.1, 3.2]]       
L2[2][0] = 3.14        
print(L1)   #[1, 2, [3.14, 3.2]]        
print(L2)   #[1, 2, [3.14, 3.2]]


 
 深拷贝 deep copy
    复制对象及对象关联的对象一起复制过程叫做深拷贝
     示例代码:
 

 import copy
 l = [3.1,3.2]
 l1 = [1,2,l]
 l2 = copy.deepcopy(l1) #深拷贝
 print(l1) #[1, 2, [3.1, 3.2]]
 print(l2) #[1, 2, [3.1, 3.2]]
 l2[2][0] = 3.14
 print(l1)   #[1, 2, [3.1, 3.2]]
 print(l2)   #[1, 2, [3.14, 3.2]]

深拷贝和浅拷贝最大的区别在于copy之后修改其中一个对象:

浅拷贝全部修改

深拷贝只修改 要修改的对象

相关标签: copy

上一篇: mysql数据库不能添加NULL值

下一篇: