python的浅拷贝与深拷贝

浅拷贝

就是将所拷贝变量的指针指向相同的地址
上代码!!!

array = [1,2]
other_array = array
array.append(3)
array  [1,2,3]
other_array  [1,2,3]

python为了节省内存以及加快运行速度,使用了浅拷贝——将所拷贝变量的指针指向相同的地址,这样,我们对array处理实际上就是对array指向的地址进行处理,other_array的值也因此改变

深拷贝

那么如何解决浅拷贝的这个问题呢?
这里介绍copy( )函数:
上代码!!!

array = [1,2]
other_array = array.copy()
array.append(3)
array  [1,2,3]
other_array  [1,2]

使用了copy( )方法后,other_ array的指针所指向的地址就不会和array的地址一样了。所以对array数组处理就不会改变 other_ array的值

比喻理解

浅拷贝就相当于两个人共享一辆小黄车,如果其中一个人不小心弄坏了铃铛,则另一个人骑行时铃铛是损坏的
深拷贝就是两个人拥有两辆小黄车,独自占有,互不影响

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值