对于可变类型(eg:列表)和不可变类型(eg:元组)中的浅拷贝(copy)和深拷贝(deepcopy)的区别(面试题)
#1.可变类型(eg:列表)中的浅拷贝(copy)和深拷贝(deepcopy)的区别
import copy
a = [1,2]
b = [3,4]
c = [a,b]
#(1)、浅拷贝(可变类型)
d = copy.copy(c)
#浅拷贝时,此时d开辟了新的空间(并不是指向了c的引用),但是 d [0] 和d [1]只是分别指向
了变量a和b的引用
#(2)、深拷贝(可变类型)
e = copy.deepcopy(c)
#深拷贝时,此时d开辟了新的空间(并不是指向了c的引用),并且为 d [0] 和d [1]分配了新的
空间,并不是指向变量a和不变量b
2.不可变类型(eg:元组)中的浅拷贝(copy)和深拷贝(deepcopy)的区别对于不可变类型,
无论是使用copy还是deepcopy都只是简单的起到了指向元组的作用。