Python入门--为什么将元组设计为不可变序列

#为什么要将元组设计成不可变序列
#为什么要将元组设计成不可变序列
#1.多任务环境下,同时操作对象时时不需要加锁
#因此,在程序中尽量使用不可变序列
#注意事项:元组中存储的是对象的引用
#        1.如果元组中存储的对象本身是不可变对象,则不能在引用其它对象
#        2.如果元组中的对象是可变对象,则可变对象的引用不允许改变(元组不允许修改元素),但数据可以改变

#为什么要将元组设计成不可变序列
#为什么要将元组设计成不可变序列
#1.多任务环境下,同时操作对象时时不需要加锁
#因此,在程序中尽量使用不可变序列
#注意事项:元组中存储的是对象的引用
#        1.如果元组中存储的对象本身是不可变对象,则不能在引用其它对象
#        2.如果元组中的对象是可变对象,则可变对象的引用不允许改变(元组不允许修改元素),但数据可以改变
#t=(10,[20,30],9)
#10,9整数,整数是不可变对象
#[20,30]列表,可变对象
#t[1]=100错误。元组中存储的是对象的引用,可变对象的引用不允许改变
#t[1].append(100)  但数据可以改变
############################################
t=(10,[20,30],9)
print(t,type(t))
print(t[0],type(t[0]))#获取元组中的元素
print(t[1],type(t[1]),id(t[1]))
print(t[2],type(t[2]))
'''由于[20,30]是列表,而列表是可变序列,所以可以向列表中添加元素,而列表的内存地址不变'''
t[1].append(100)
print(t,id(t[1]))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值