python 深浅拷贝 赋值

本质上和语言无关, 是三种复制对象的方式.
数据在物理地址中的内容, 这个物理地址需要用地址寻址.
那么复制就有多种办法, 例如使两个变量指向同一个地址, 或是创建一份新的物理地址存储同样内容(深拷贝).
对象的本质是(名称, 地址)(引用), 编程时用名称代替 使用时直接寻址到内容
而c语言的指针(很多语言没有指针)从外表看它存储的是地址(名称, 地址) 具有直接操作地址的能力
c语言对普通变量的赋值可能是拷贝
python赋值是对地址的引用
变量实际上的表示是a(addr) -> addr[content]
指针(in C) p(addr) -> addr[addr’]

浅拷贝和赋值: (赋值是一个过程)
浅拷贝创建一个新对象
-----------------------------------------------
直接赋值:其实就是对象的引用(别名)。新老变量同时指向同一片内存,对新变量所做的任何修改都会连带修改老变量
浅拷贝(copy):拷贝[父对象](只有一层),不会拷贝对象的内部的子对象。对象的内部的子对象还是直接赋值,所以如果修改父对象,不会对原变量的父对象造成影响,但是修改如果内部的子对象,则会连带修改原对象的子对象,因为共用一个引用。
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。父对象和内部子对象都拷贝到新空间,对新变量所做的任何修改,不会对原变量 a 造成任何影响

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值