深拷贝与浅拷贝

本文深入探讨了Python中拷贝、赋值及引用的概念,包括不可变类型与可变类型的区别,浅拷贝与深拷贝的工作原理,并通过实例说明了不同情况下对象内存地址的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#拷贝
###引用
a = [1,2,3]
b = a
c = a

引用就是多个对象指向同一个内存的地址
###理解赋值
a = 1
id(a)
a = 2
id(a)

因为1是int类型,所以是不可变的,每次赋值都会重新创建这个值
###深拷贝与浅拷贝理解
深拷贝:递归所有的数据,全部复制一份,
浅拷贝:复制的是第一层


#可变类型不可变类型拷贝(元组,数字,字符串)
深拷贝与浅拷贝与引用地址都是同一个


#了解常见的系统拷贝
 d = c[:]
 
 a = [1,2,3]
 aa = {'key':a}
 bb = aa.copy()
 
 一般的copy都是浅拷贝,因为性能的问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值