python的浅拷贝与深拷贝

python的浅拷贝没有拷贝子对象,子对象改变,拷贝的对象也会改变。而深拷贝是无论原对象怎么改变,深拷贝的对象始终不变。

import copy


a = [1,2,3,["a","s","d"]]
c = copy.copy(a)
d = copy.deepcopy(a)
print("浅拷贝对象、深拷贝对象与原对象比较")
print(a)
print(c)
print(d)
print("改变原对象后,对比原对象与浅拷贝对象、深拷贝对象的区别")
a.append(5)
print(a)
print(c)
print(d)
print("改变子对象后,比较原对象与浅拷贝对象、深拷贝对象的区别")
a[3].append("q")
print(a)
print(c)

print(d)

输出结果

浅拷贝对象、深拷贝对象与原对象比较
[1, 2, 3, ['a', 's', 'd']]
[1, 2, 3, ['a', 's', 'd']]
[1, 2, 3, ['a', 's', 'd']]
改变原对象后,对比原对象与浅拷贝对象、深拷贝对象的区别
[1, 2, 3, ['a', 's', 'd'], 5]
[1, 2, 3, ['a', 's', 'd']]
[1, 2, 3, ['a', 's', 'd']]
改变子对象后,比较原对象与浅拷贝对象、深拷贝对象的区别
[1, 2, 3, ['a', 's', 'd', 'q'], 5]
[1, 2, 3, ['a', 's', 'd', 'q']]
[1, 2, 3, ['a', 's', 'd']]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值