Python深拷贝浅拷贝

  • 浅拷贝(copy)

    • 浅拷贝是对于一个对象的顶层拷贝
      通俗的理解是:拷贝了引用,并没有拷贝内容
      Python深拷贝浅拷贝
  • 深拷贝(deepcopy)

    • 深拷贝是对于一个对象所有层次的拷贝(递归),会开辟一个内存空间存储拷贝内容。将对象中多有层次都拷贝一份,a改变时,d中的a不会改变。
      Python深拷贝浅拷贝

注意点

  • 浅拷贝对不可变类型和可变类型的copy不同
    • copy.copy对于可变类型,会进行浅拷贝
    • copy.copy对于不可变类型,不会拷贝,仅仅是指向

浅拷贝和深拷贝的不同点

  • 如果用copy.copy、deepcopy对一个全部都是不可变类型的数据进行拷贝,那么他们的结果相同,都是引用指向

  • 如果拷贝的是一个拥有 可变类型 的不可变类型的数据,即元组是最顶层,那么deepcopy依然是深拷贝而copy.copy还是指向
    Python深拷贝浅拷贝

赋值语句在python是增加一个引用
Python深拷贝浅拷贝
字符串切片与copy.copy一样属于浅拷贝
Python深拷贝浅拷贝

字典中的拷贝也是引用指向
Python深拷贝浅拷贝

相关文章:

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