字符串在Python中是不可变的吗?

时间:2018-04-14 12:52:50

标签: python string immutability

我在Python中有关于String概念的问题。根据我的理解,字符串是语言的不可变部分。例如:

a = 'Emiliano'
a[0] = 'r'
print(a)

结果:

Type Error: 'str' object does not support item assignment

所以,我知道我需要创建另一个变量,但是为什么在以下情况下,如果我改变变量的整个字符串,Python没有检索到任何错误?

a = 'Emiliano'
a = 'David'
print(a)

结果:David

1 个答案:

答案 0 :(得分:1)

它的作业,a指向Emiliano所在的记忆,所以a=some other string它只是改变了a指向的地方

更改字符串主要是通过复制原始字符串并操纵复制过程来完成的,从而返回一个新的字符串对象