看《流畅的python》一书,发现一个很有意思的问题
aa=(1,2,[21,22])
aa[2]+=[23,24]
上述代码很有意思,元组是不能对值进行赋值的,比如aa[0]=0,就会抛出异常,上述代码也不例外,但是很神奇,它即抛出了异常,又改变了元组的值!
>>> t=(1,2,[34,35])
>>> t [2] +=[21,23]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>>t
(1, 2, [34, 45, 21, 23])
作者告诫,不要在元组里放入可变的变量,防止引起出错。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。