1. 程式人生 > >解析python字串型別為什麼不支援改變

解析python字串型別為什麼不支援改變

在C++中,如果不適用STL庫的String類,字串可以用char陣列表示:
例如:char str[5]=“absde”;//報錯,溢位,因為c++字串末尾有一個\0
應該寫成這樣char str[5]=“abcd”;//OK
str[0]=‘f’;//ok
好,現在換python
str_a=“abcd” #ok
str_a[0]=‘f’ #error
為什麼?
因為在python中,“abcd”是字元常量(C++中也是),與C++不同的是str_a指向了字元常量的記憶體,而在C++中,str指向棧區,並且把字元常量的值拷貝到棧區域,所以python中字串不可改變