Python 语言-第一章编程基础加餐之深浅拷贝
1.3 深浅拷贝
-
变量的赋值操作:只是形参两个变量,实际还是指向的同一个对象
-
浅拷贝 (copy) :
-
python 拷贝一般都是浅拷贝,拷贝时,对象和其包含的子对象内容不拷贝,重新分配一块内存,创建一个新的对象,但里面的元素是源对象中各个子对象的引用。
- 即:源对象与拷贝对象引用的同一个子对象
-
对数据采用浅拷贝的方式时,如果原对象中的元素不可变,那倒无所谓;但如果元素可变,浅拷贝通常会出现一些问题
-
-
深拷贝 (deepcopy) :
- 是指重新分配一块内存,创建一个新的对象,并且将原对象中的元素,以递归的方式,通过创建新的子对象拷贝到新对象中。
- 即:源对象与拷贝对象引用的不是同一个子对象
-
-
使用拷贝
-
浅拷贝是自动调用的
- Python中对象的赋值都是进行对象引用(内存地址)传递
-
深拷贝需要调用
语法格式:copy.deepcopy(str)
-