python基础--深浅拷贝

对于不可变类型:无论深浅拷贝都是拷贝引用
对于可变类型,如果是浅拷贝,只会拷贝外层,内层还是拷贝引用;如果是深拷贝,则直接生成新对象;

浅拷贝copy:对于一个对象顶层拷贝,拷贝了引用,没拷贝内容

对不可变类型会拷贝引用,对可变类型会生成新对象
如果有嵌套,则只考虑外层,外层为不可变类型则拷贝引用,外层为可变类型则生成新对象,无论外层为可变还是不可变,内层都是拷贝引用。

[] 和{} 会拷贝成新对象
[[],[]] 列表嵌套,只会拷贝外层,外层生成新对象,内层只拷贝引用
[(),()] 列表嵌套元组,外层生成新对象,内层拷贝引用
([],[])外层拷贝引用,内层也拷贝引用
((),())外层拷贝引用,内层拷贝引用

深拷贝deepcopy:对一个对象所有层次进行拷贝

对不可变类型拷贝引用,对可变类型会生成新对象
如果有嵌套,会遍历整个对象,对可变对象生成新对象,对不可变对象拷贝引用

[] 和{} 会拷贝成新对象
[[],[]] 内外都会拷贝生成新对象
[(),()] 外层拷贝生成新对象,内层拷贝引用
([],[])外层拷贝引用,内层拷贝对象
((),())内外层欧式拷贝引用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值