python 直接赋值、浅拷贝和深拷贝解析
- 直接赋值:对象的引用
a={1:[2,3,4]}
b=a
a和b都指向同一个对象,a和b中存储的是地址,并不是值
- copy.copy浅拷贝
浅拷贝,a和b是独立的对象,但他们的子对象还是指向同一个对象(引用)
a={1:[2,3,4]}
b=copy.copy(a)
b[1][1]=0
print(a)
print(b)
a:{1:[2,0,4]}
b:{1:[2,0,4]}
3.copy.deepcopy()深拷贝,a和b是完全独立的对象,完全拷贝了父对象和其子对象
a={1:[2,3,4]}
b=copy.deepcopy(a)
b[1][1]=0
print(a)
print(b)
a:{1:[2,3,4]}
b:{1:[2,0,4]}