Python浅复制和深复制的区别

浅复制

修改不可变对象(str、tuple)需要开辟新的空间

修改可变对象(list等)不需要开辟新的空间

不可变类型的对象,对于深浅拷贝毫无影响,最终的地址值和值都是相等的。

可变类型:

=浅拷贝: 值相等,地址相等

copy浅拷贝:值相等,地址不相等

deepcopy深拷贝:值相等,地址不相等


可变类型(不允许作为字典的Key):列表、字典

By the way 若全局变量是可变类型(列表,字典),则在函数中可以直接修改,不使用global

不可变类型:数字、字符串、元组

你可能感兴趣的:(Python浅复制和深复制的区别)