import copy

copy.copy()    浅拷贝

copy.deepcopy()   深拷贝

>>> import copy
>>> a1 = 123
>>> a2 = a1
>>> a3 = copy.copy(a1)
>>> a4 = copy.deepcopy(a1)
>>> print(id(a1),id(a2),id(a3),id(a4))
1967314832 1967314832 1967314832 1967314832

再看一个例子

>>> n1 = { "k1":"wu","k2":123, "k3":["abc",456]}
>>> n2 = n1
>>> n3 = copy.copy(n1)
>>> n4 = copy.deepcopy(n1)

深浅拷贝示意图

python(3)-深浅拷贝

浅拷贝只拷贝一层, 深拷贝有多少层拷多少层.

如果是只读对象,那么可以用浅拷贝快速生成.

但如果是需要各自做不同修改的,则需要用深拷贝.

相关文章:

  • 2022-12-23
  • 2021-10-04
  • 2021-11-09
  • 2021-08-27
  • 2021-12-27
  • 2021-06-14
  • 2022-01-01
  • 2022-01-09
猜你喜欢
  • 2021-10-19
  • 2021-06-20
  • 2021-07-04
  • 2021-05-25
  • 2022-02-10
相关资源
相似解决方案