- 浅拷贝——仅仅拷贝对象本身,而不拷贝其子对象
import copy
def testCopy():
a=[100,200,[1,2,3]]
b=copy.copy(a)
b.append(300)
b[2][2]=200
print(a) #[100, 200, [1, 2, 200]]
print(b) #[100, 200, [1, 2, 200],300]
testCopy()
示意图:
浅拷贝共用子对象
- 深拷贝——拷贝对象本身和其子对象
import copy
def testDeepcopy():
a=[100,200,[1,2,3]]
b=copy.deepcopy(a)
b.append(300)
b[2][2]=200
print(a) #[100, 200, [1, 2, 3]]
print(b) #[100, 200, [1, 2, 200], 300]
testDeepcopy()
示意图:
深拷贝不共用子对象,所以无论怎么操作,被拷贝的对象不会有任何变化!