python的字符串是不可變對象。所謂不可變對象是指一旦生成后不能被改變的對象。
<b>不可變對象有什么優點</b>:
- 可以提高性能,解釋器可以分配一段固定的內存,并且可以重用該對象。比如,CPython在實現中預先申請了所有的單字節字符,并且,如果字符串運算后的結果與運算前相同,就會返回運算前的字符串。
- python里面,字符串與數字一樣,被認為是表示思想的最基本材料。在Python里,沒有任何方法可以把數字8變成其它東西,同樣,也沒有辦法把"eight"這個字符串變成其它東西。
- 使用不可變數據結構,強調了一種無副作用的編程方式(函數式編程)。同時,如果多個變量引用了同一個字符串對象,不會出現修改了某個變量的值,而對另一個變量產生影響。
示例:
>>> b="1234"
>>> id(b)
53399088
>>> c="1234"
>>> id(c)
53399088
>>> b="111"
>>> id(b)
53396568
>>> id(c)
53399088
>>> id(b+"11")
52665120
>>> id(b)
53396568