Python深浅拷贝

拷贝不可变数据类型,深浅拷贝都返回原对象本身,不可变数据类型包含可变数据类型时除外。
拷贝可变数据类型时,深拷贝递归复制返回一个新对象。浅拷贝原对象返回一个新对象,有子对象,则子对象返回子对象本身。
注意:
如果是返回对象本身,则地址值相同,且随原对象改变而改变。

 

不考虑内存地址,只考虑数据变化时:

深拷贝一个对象a,得到对象b。b不会随着a的变化而变化。

浅拷贝三种:

1.浅拷贝原对象a且不包含子对象的情况下得到对象b,b不会随着a的变化而变化。

2.浅拷贝原对象a有子对象且子对象是不可变数据类型时得到对象b,b不会随着a的变化而变化。

3.浅拷贝原对象a有子对象且子对象是可变数据类型时得到对象b,b的子对象会随着a的子对象变化而变化。

 

在不考虑内存地址变化的情况下,不用考虑不可变数据类型,因为他本身就不可变。

 

你可能感兴趣的:(Python,python)