深拷贝、浅拷贝、赋值你就看这篇吧

深拷贝、浅拷贝、赋值你就看这篇吧

  1. 赋值:对象的赋值就是一个简单的对象引用,它不会开辟新的内存空间,只是复制了对象的引用,所指向的内容和 id 都是相同的。

  2. 浅拷贝:浅拷贝会创建新的对象,新对象的内容是原对象第一层对象的引用。修改深层内容对原对象会有影响。实现方式:切片、工厂函数、copy模块中的copy()函数。

a = ['z','x','c']
# 切片操作:
b = a[:] 或者 b = [x for x in a]# 工厂函数:
b = list(a)# copy 函数:
b = copy.copy(a)
  1. 深拷贝:深拷贝只有一种实现方式,copy模块中的 deepcopy() 函数。深拷贝与浅拷贝不同的是,它会拷贝原对象中的所有元素,包括多层嵌套的元素,它的空间和时间开销会比较高,修改原对象的任何内容对新对象都不会有影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值