Python高级——深浅拷贝
深浅拷贝
1、深拷贝:
深拷贝就是将所有的都进行拷贝,包括内层,深拷贝属于递归拷贝,很是耗费内存。
2、浅拷贝:
浅拷贝就是只拷贝最外面一层,子对象会受到原始数据的影响,但是前拷贝节约内存,浪费少。
3、对象的拷贝:
引用传递不是拷贝,引用传递是地址的拷贝。
4、拷贝格式:
导入模块: import copy
copy.copy #浅拷贝,仅拷贝第一层对象。
copy.deepcopy #深拷贝,会进行递归拷贝。
通过上图我们可以看出,b是浅拷贝,只拷贝了a的最外层,当在a列表的内层列表里进行操作时,经过浅拷贝的列表内层也发生了改变,但是外层没有变化。c是经过了深拷贝,从图中就可以看出无论操作列表a的内层还是外层,c都不发生改变。