python中的赋值、浅拷贝、深拷贝的区别

赋值:

  可变类型:赋值前后id不会变,赋值后的数据会随源数据变化;

  不可变类型:赋值前后id不会变,赋值后的数据不会随源数据变化;

浅拷贝(copy):

  可变类型:copy前后id会变,源数据所包含的可变类型数据变化时,copy后数据会变(引用);源数据所包含的不可变类型变化时,copy后的数据不会变;

  不可变类型:copy前后id不会变,源数据变化,copy不会变化(同赋值引用中不可变类型)。

深拷贝(deepcopy):

  可变/不可变类型:deepcopy前后id会变,源数据变化不会影响deepcopy后的数据。

原文地址:https://www.cnblogs.com/guo126/p/13454748.html