浅拷贝与深拷贝
直接赋值
就是对象的引用
例:
可以看到,对将a赋值给b,但是修改了b的值,a的值也会发生变化
因为赋值其实就是引用对象的内存地址,并不是重新开辟内存空间进行存储,所以a的值也发生了变化

浅拷贝
拷贝父对象,不会拷贝对象的内部的子对象
例:
使用a.copy赋值叫做浅拷贝


深拷贝
copy模块的deepcopy方法,完全拷贝了父对象及其子对象
例:

按照具体需求选择合适的赋值或者拷贝形式:
建议:在内存足够的情况下,选择深拷贝,这样逻辑处理独立,不会产生上下文的影响,不容易发生难以解决的bug。


浙公网安备 33010602011771号