我们知道 Python 元组是不可变的,很好。当我尝试更改元组组件的引用时,我得到了一个异常,正如预期的那样。出乎意料的是,无论异常如何,组件都会发生变化,而我认为元组不变性保证了对象不会是可变的。
它是错误、功能还是 PEP?
In [6]: x=([1],)
In [7]: type(x)
Out[7]: tuple
In [8]: x[0]+=[2,3]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-8-a73186f99454> in <module>()
----> 1 x[0]+=[2,3]
TypeError: 'tuple' object does not support item assignment
In [9]: x
Out[9]: ([1, 2, 3],)