Python中的= & copy & deepcopy

  1. =仅让两个指针指向同一个对象
  2. copy仅拷贝对象本身,而不对中的子对象进行拷贝,故对子对象进行修改也会随着修改。
  3. deepcopy是真正意义上的复制,即从新开辟一片空间。我们经常说的复制实际上就是deepcopy.
>>> import copy
>>> a=[1,2,3,[2,3],4]
>>> b=a
>>> c=copy.copy(a)
>>> d=copy.deepcopy(a)
>>> a.append(9)
>>> a
[1, 2, 3, [2, 3], 4, 9]
>>> b
[1, 2, 3, [2, 3], 4, 9]
>>> c
[1, 2, 3, [2, 3], 4]
>>> d
[1, 2, 3, [2, 3], 4]
>>> a[3][0]=8
>>> a
[1, 2, 3, [8, 3], 4, 9]
>>> b
[1, 2, 3, [8, 3], 4, 9]
>>> c
[1, 2, 3, [8, 3], 4]
>>> d
[1, 2, 3, [2, 3], 4]
>>> 

猜你喜欢

转载自blog.csdn.net/jason_cuijiahui/article/details/80043847