python中的变量&浅拷贝&深拷贝

Python中,万物皆对象!

即使是int, string, list这些在其他语言里的值类型,在python中也是对象。所以,变量简单的赋值,只是复制了引用地址,一个变量的改变会影响另一个变量。

浅拷贝

Python中的浅拷贝,只会拷贝最顶层变量的基本内容,若顶层变量中存在其他子对象引用,则子对象是以引用方式传递给新变量,两个变量是浅拷贝赋值关系时,修改子对象时,两个变量内容都会改变。

深度拷贝

Python中的深度拷贝,会迭代拷贝所有子对象,两个变量是深度拷贝赋值关系时,修改任意一个变量互不影响。