2-3-10 深浅拷贝

使用模块

import copy

深浅拷贝:区别
1. 主要指的都是可变类型,不可变类型都不能进行拷贝。
2. 浅拷贝,只拷贝最外面第一层,
3. 深拷贝,是将所有嵌套类型中可变类型都拷贝一份,不可变类型是不拷贝的。
4. 对于不可变类型中特殊的:元组,如果元组中包含可变类型,也会被拷贝**

  • 深浅拷贝一般都是说的可变类型:set 、 list、dict(不可变类型在进行深浅拷贝时无意义-内部都不会去拷贝,永远都是同一块内存地址)
    image

  • 浅拷贝,针对可变类型只拷贝第一层,内部不可变类型&可变类型都不会被拷贝
    image

  • 深拷贝,对于可变类型无论哪一层都会被拷贝,不可变类型永远不会被拷贝

image

区别:

  • 浅拷贝:只拷贝第一层的可变类型
  • 深拷贝:拷贝所有层的可变类型,特殊:元组中如果有可变类型,也会被拷贝

image

posted @ 2022-10-27 15:54  布丁家的苏苏  Views(9)  Comments(0)    收藏  举报