Python 语言-第一章编程基础加餐之深浅拷贝

1.3 深浅拷贝

  • 变量的赋值操作:只是形参两个变量,实际还是指向的同一个对象

  • 浅拷贝 (copy) :

    • python 拷贝一般都是浅拷贝,拷贝时,对象和其包含的子对象内容不拷贝,重新分配一块内存,创建一个新的对象,但里面的元素是源对象中各个子对象的引用。

      • 即:源对象与拷贝对象引用的同一个子对象
    • 对数据采用浅拷贝的方式时,如果原对象中的元素不可变,那倒无所谓;但如果元素可变,浅拷贝通常会出现一些问题

  • 深拷贝 (deepcopy) :

    • 是指重新分配一块内存,创建一个新的对象,并且将原对象中的元素,以递归的方式,通过创建新的子对象拷贝到新对象中。
    • 即:源对象与拷贝对象引用的不是同一个子对象
    • image-20211214085407717
  • 使用拷贝

    • 浅拷贝是自动调用的

      • Python中对象的赋值都是进行对象引用(内存地址)传递
    • 深拷贝需要调用

      语法格式:copy.deepcopy(str)

posted @ 2022-01-18 21:26  你是我的生命之源  阅读(31)  评论(0)    收藏  举报
页脚