赋值:旧瓶装旧酒,
a = b,其中的a和b指向同一块内存区域。
浅拷贝:新瓶装旧酒,
a = b[:]或者a = b.copy(),其中的a和b虽然不指向同一块内存区域,但是这两个容器内部所存储的数据的地址值(在Python中可以通过id()这个函数来访问到)是相同的。也就是说,我们上面的操作,即a = b[:]或者a = b.copy()并没有产生新的酒,只是产生了新的酒瓶。
深拷贝:新瓶装新酒,
a = b.deepcopy(),我们既产生了新的酒瓶(a和b),又产生了新的酒(酒指的是a和b这两个容器里面存储的数据。经过深拷贝之后,它们内容相同,但是地址不同)。