python里shallow copy和deepcopy的区别
python 中经常需要拷贝对象,而很多“改了一个变量,另一个也跟着变”的 bug,本质上都和没有分清这三种操作有关:赋值、浅拷贝、深拷贝。

赋值(=)、浅拷贝(copy) 和深拷贝(deepcopy) 中,最容易混淆的通常不是赋值和拷贝,而是浅拷贝与深拷贝到底会不会共享内部子对象。
赋值语句并不会复制对象,它只是让两个变量同时指向同一个对象。这样一来,对其中一个变量看到的内容做修改,另一个变量也会看到同样的变化。
……春江暮客的个人学习分享网站
python 中经常需要拷贝对象,而很多“改了一个变量,另一个也跟着变”的 bug,本质上都和没有分清这三种操作有关:赋值、浅拷贝、深拷贝。

赋值(=)、浅拷贝(copy) 和深拷贝(deepcopy) 中,最容易混淆的通常不是赋值和拷贝,而是浅拷贝与深拷贝到底会不会共享内部子对象。
赋值语句并不会复制对象,它只是让两个变量同时指向同一个对象。这样一来,对其中一个变量看到的内容做修改,另一个变量也会看到同样的变化。
……