浅复制:
复制后的变量内容变化,原有的变量内容也会变化。相当于创建了一个新指针,指向原有变量。
深复制:
新建一份数据。复制后的变量内容变化,原有的变量内容没有变化。相对于创建了一个新指针,重新申请内存空间,将原有变量内容复制过来。
以python为例:
import copy
class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
s = Student('Bob', 59)
print(s.name,"\n",s.score)
s1=s2=s #浅复制
s3=copy.copy(s) #深复制
print("s1:\n",s1.name,"\n",s1.score)
print("s2:\n",s2.name,"\n",s2.score)
print("s3:\n",s3.name,"\n",s3.score)
s2.score=60 #s2变化,s1随之变化,s3不变
print("s1:\n",s1.name,"\n",s1.score)
print("s2:\n",s2.name,"\n",s2.sco