Python 深、浅拷贝

当我们给一个变量赋值的时候,实际上是是给这个变量加一个引用,让变量名指向特定的内存空间。

变量名和变量都是存储在内存中的某一个内存空间中。

 浅拷贝:只是拷贝引用关系。

深拷贝:拷贝内存空间,深拷贝会重新开辟一个内存空间存储变量,并重新指向新的内存空间。

 例如: 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]

你可能感兴趣的:(Python 深、浅拷贝)