深拷贝和浅拷贝
a=1
b=a # 这也是一拷贝
变量 指向/引用 值
a ——> 1
浅拷贝:copy.copy()
深拷贝:copy.deepcopy()
如果 copy.copy()拷贝的是元组 那么它不会进行浅拷贝 仅仅是指向
因为元组是不可变数据类型,意味着数据一定不能修改
因此它会自动判断为指向
import copy
a=[1,2]
b=[3,4]
c=[a,b]
d=copy.copy(c)
e=copy.deepcopy(c)
print(id(c),id(d),id(e))
print(id(c[0]),id(d[0]),id(a),id(e[0]))
aa=(1,2)
bb=(3,4)
cc=(a,b)
dd=copy.copy(cc)
ee=copy.deepcopy(cc)
print(id(cc),id(dd),id(ee)) # 由于元组是不可变的数据类型,id(cc)==id(dd)
print(id(cc[0]),id(dd[0]),id(aa),id(ee[0]))