id
什么是id?一个对象的id值在CPython解释器里就代表它在内存中的`地址
# -*- coding:utf-8 -*-
import copy
a=[1,2,3,[4,5],[6,7,8]]
b = a
a[3][0]=4444
print(a,b)
‘‘’’
([1, 2, 3, [4444, 5], [6, 7, 8]], [1, 2, 3, [4444, 5], [6, 7, 8]])
‘‘’’
浅拷贝
当使用浅拷贝时,python只是拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。看代码:
# -*- coding:utf-8 -*-
import copy
a=[1,2,3,[4,5],[6,7,8]]
c=copy.copy(a)
a[0]=1111
a[4][1]=7777
print(a,c)
''''
([1111, 2, 3, [4, 5], [6, 7777, 8]], [1, 2, 3, [4, 5], [6, 7777, 8]])
''''
深拷贝
deepcopy对外围和内部元素都进行了拷贝对象本身,而不是对象的引用。
# -*- coding:utf-8 -*-
import copy
a=[1,2,3,[4,5],[6,7,8]]
d=copy.deepcopy(a)
a[0]= 1111
a[3][0]=4444
a[4][0]=6666
print(a,d)
''''
([1111, 2, 3, [4444, 5], [6666, 7, 8]], [1, 2, 3, [4, 5], [6, 7, 8]])
''''
浅拷贝与深拷贝解析
本文深入探讨了Python中对象拷贝的概念,详细解释了浅拷贝和深拷贝的区别,通过实例展示了不同拷贝方式下对象修改的影响。
17万+

被折叠的 条评论
为什么被折叠?



