1.python的变量及其存储
1.python的一切变量都是对象,变量的存储才用了引用语义的方式,存储的只是一个变量的值所在的内存地址,
而不是这个变量的值本身。
2.浅拷贝(copy)和深拷贝(deepcopy)
1.浅拷贝:不管多么复杂的数据结构,浅拷贝都只会copy最顶层,浅拷贝只拷贝引用
2.深拷贝:深拷贝会完全复制原变量的所有数据,在内存中生成一套完全一样的内容,我们对这两个变量中任意
一个修改都不会影响另一个变量。
#导包
import copy
sourceList = [1,2,3,[4,5,6]]
copyList = copy.copy(sourceList) #the result:[1,2,3,[4,5,6]]
deepcopyList = copy.deepcopy(sourceList) #the result:[1,2,3,[4,5,6]]
#对其中的值做出改变
sourceList[3][0]=100
print(sourceList) # [1, 2, 3, [100, 5, 6]]
print(copyList) # [1, 2, 3, [100, 5, 6]]
print(deepcopyList) # [1,2,3,[4,5,6]]