python的深浅拷贝和垃圾回收机制
深浅拷贝
1. python的变量及其存储
-
python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的只本身
-
不管多么复杂的数据结构,浅拷贝都只会copy一层。
理解:两个人公用一张桌子,只要桌子不变,桌子上的菜发生了变化两个人是共同感受的。
2. 浅copy与deepcopy
-
浅copy: 不管多么复杂的数据结构,浅拷贝都只会copy一层
-
deepcopy : 深拷贝会完全复制原变量相关的所有数据,在内存中生成一套完全一样的内容,我们对这两个变量中任意一个修改都不会影响其他变量
import copy
sourceList = [1,2,3