为什么可变和不可变的变量和字符串存在矛盾



正如变量中的数据在程序中是可更改的,另一方面,在数据结构中,例如字符串是不可变的。所以这里是变量和数据结构之间的矛盾。谁能帮我解决这个问题?

>>> name = 'E.RafatiNasr' # your name assigned to a 'name' variable
>>> name[0] = 'A' # I tried changing 'E' in your name to 'A'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

哎呀!发生了什么事?

没有矛盾。变量不是值。说一个对象是可变的意味着它公开了突变器方法。变量在可以重新分配时是可变的。

最新更新