字符串的不變性

在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和指向同一內存位置。NN也指向相同的位置。

b = 91909376
a = 91836864
n = 91259888
a = 91836864
n = 91259888