码迷,mamicode.com
首页 > 其他好文 > 详细

元组的相对不可变性

时间:2018-05-22 23:57:43      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:code   可变   class   src   .com   引用   物理   pre   span   

元组与多数 Python 集合(列表、字典、集,等等)一样,保存的是对象的引用。 如果引用的元素是可变的,即便元组本身不可变,元素依然可变。

也就是说,元组的不可变性其实是指 tuple 数据结构的物理内容(即保存的引用)不可变,与引用的对象无关。

t1 = (1, 2, [30, 40])
t2 = (1, 2, [30, 40])
print(id(t1))
print(id(t2))

print(id(t1[-1]))
t1[-1].append(1000)
print(t1)
print(id(t1[-1]))
print(t1 == t2)

输出结果:
技术分享图片

表明,元组的值会随着引用的可变对象的变化而变。元组中不可变的是元素的标识。

元组的相对不可变性

标签:code   可变   class   src   .com   引用   物理   pre   span   

原文地址:https://www.cnblogs.com/fuqia/p/9074517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!