2-3-10 深浅拷贝
使用模块
import copy
深浅拷贝:区别
1. 主要指的都是可变类型,不可变类型都不能进行拷贝。
2. 浅拷贝,只拷贝最外面第一层,
3. 深拷贝,是将所有嵌套类型中可变类型都拷贝一份,不可变类型是不拷贝的。
4. 对于不可变类型中特殊的:元组,如果元组中包含可变类型,也会被拷贝**
-
深浅拷贝一般都是说的可变类型:set 、 list、dict(不可变类型在进行深浅拷贝时无意义-内部都不会去拷贝,永远都是同一块内存地址)
-
浅拷贝,针对可变类型只拷贝第一层,内部不可变类型&可变类型都不会被拷贝
-
深拷贝,对于可变类型无论哪一层都会被拷贝,不可变类型永远不会被拷贝
区别:
- 浅拷贝:只拷贝第一层的可变类型
- 深拷贝:拷贝所有层的可变类型,特殊:元组中如果有可变类型,也会被拷贝