在python中,字符串数据类型是不可变的。这意味着无法更新字符串值。 我们可以通过尝试更新字符串的一部分来验证这一点,这将会产生错误。
# Can not reassign
t= "Yiibai"
print type(t)
t[0] = "M"
当我们运行上面的程序时,将会得到以下错误提示 -
t[0] = "M"
TypeError: 'str' object does not support item assignment
我们可以通过检查字符串字母位置的内存位置地址来进一步验证这一点。
x = 'banana'
for idx in range (0,5):
print x[idx], "=", id(x[idx])
当运行上面的程序时,将会得到以下输出。 正如可以看到上面的a
和指向同一内存位置。N
和N
也指向相同的位置。
b = 91909376
a = 91836864
n = 91259888
a = 91836864
n = 91259888