Python高级——赋值、浅拷贝与深拷贝

赋值-浅拷贝-深拷贝

1.赋值:
  对象赋值的本质是对象之间引用的传递,即多个对象指向同一内存空间。
  
2.浅拷贝:
  浅拷贝是对一个对象的顶层数据的拷贝(如果拷贝嵌套对象,只能拷贝顶层,底层数据还是引用。
  

import copy
  对象.copy.copy(目标对象)

  
3.深拷贝:
  深拷贝是对一个对象的所有层次的拷贝,保证数据的独立性。
  

import copy
  对象.copy.deepcopy(目标对象)

  
  注:如果拷贝对象为不可变类型,深浅拷贝都会引用地址,如果是嵌套类型,浅拷贝只关心顶层的类型,顶层为不可变类型,就引用地址,而深拷贝,必须对象类型都为不可变类型,才可以引用地址,否则会重新开辟新空间才拷贝数据。

猜你喜欢

转载自blog.csdn.net/zsh142537/article/details/82685425