Python-为什么要将元组设计成不可变序列?

在多任务环境下,同时操作对象时不需要加锁,

因此,在程序中尽量使用不可变序列。

注意事项:元组中存储的是对象的引用

1、如果元组中对象本身是不可变对象,则不能再引用其他对象

2、如果元组中对象本身是可变对象,虽然可变对象的引用不允许改变,但是数据可以改变。

 

 1 t = (10, [20, 30], 9)
 2 print(t)
 3 print(type(t))
 4 for item in t:
 5     print(item, type(item), id(item))
 6 '''尝试将t[1]修改为100'''
 7 print(id(100))
 8 # t[1] = 100 报错TypeError: 'tuple' object does not support item assignment
 9 '''由于[20, 30]是列表,而列表是可变序列,所以可以向列中添加元素,而列表的内存地址不变'''
10 t[1].append(100) #向列表中添加元素
11 print(t, id(t[1]))

 

posted @ 2022-02-24 16:41  Xxiaoyu  阅读(122)  评论(0编辑  收藏  举报