当我们给一个变量赋值的时候,实际上是是给这个变量加一个引用,让变量名指向特定的内存空间。
变量名和变量都是存储在内存中的某一个内存空间中。
浅拷贝:只是拷贝引用关系。
深拷贝:拷贝内存空间,深拷贝会重新开辟一个内存空间存储变量,并重新指向新的内存空间。
例如: a = [a,b,c]
b = a.copy() #这是浅拷贝,a和b都指向[a,b,c]所在的内存空间。一旦a列表发生了变化,将会影响到b。
c = a.copy.deepcopy() #这个是深拷贝,将会重新开辟一个内存空间也存储[a,b,c],这时a,c所指向的内存空间不一样的。当a发生了变化并不会影响到c。
a.append(d)
print b,c 这时,b = [a,b,c,d],c = [a,b,c]
网友评论