深拷贝和浅拷贝

 关键词:浅拷贝、深拷贝、元组不可变类型不可拷贝(除非元组指向可变 c = (a, b)类型则可以深拷贝,仍不可浅拷贝)

# 当一个变量a=xxx的时候,约定为 这个a是指向了这个xxx
a = [11, 22]
# 完成浅拷贝copy.copy()
# 完成深拷贝copy.deepcopy()

import copy

a = [11, 22]
b = [33, 44]
c = [a, b]
d = c
e = copy.copy(c)  # 浅拷贝 只拷贝c里面的东西,c里面的a和b指向的数据不拷贝
f = copy.deepcopy(c) # 深拷贝 拷贝c里面的包括a,b指向的数组
# copy拷贝元组 浅拷贝无法拷贝,仅仅是指向,因为元组是不可变类型
# 深拷贝:c = (a, b) 如果元组里有指向的可变数据,这可以深拷贝(仍然无法浅拷贝)

c.append(55)
a.append(66)

print('c的值为:%s id为:%d' % (c, id(c)))
print('d的值为:%s id为:%d' % (d, id(d)))
print('e的值为:%s id为:%d' % (e, id(e)))

print(id(c))
print(id(c[0]))
print(id(e[0]))
print(id(f[0]))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值