Python深浅拷贝

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

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

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

浅拷贝三种:

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值