Python的字串被劃分為不可變序列的類別,意味著這些字串所包含的字元存在從左至右的位置順序,並且它們不可以在本地進行修改。
基本操作
字串可以通過+操作符進行合并,可以使用*運算子進行重複。
>>>len("abc")3>>>'abc'+'def''abcdef'>>>'NI!'*4'NI!NI!NI!NI!'
字串內部的一個反斜線“\”可允許把字串放於多行。
>>>str = "aaa\ ....bbb\ ....ccc\ ....ddd">>>straaabbbcccddd
索引和分區
在Python中,字串中的字元是通過索引提取的。
分區X[I:J],表示“取出在X中從位移量為I,直到但不包括位移量為J的內容”。結果就是返回一個新的對象。
在一個分區中,左邊界預設為0,右邊界預設為分區序列的長度。
S = 'Spam'>>>S[1:]'pam'>>>S'Spam'>>>S[:3]'Spa'>>>S[:-1]'Spa'>>>S[:]'Spam'S[:]實現了一個完全的頂層的序列對象的拷貝-一個有相同值,但是是不同記憶體片區的對象。X[I:J:K]表示“索引x對象中的元素,從位移為I直到位移為J-1,每隔K元素索引一次“,第三個限制K,預設為1,表示步進。也可以使用負數作為步進,S[::-1]的作用實際上是將序列進行發轉。 >>>S = 'hello'>>>S[::-1]'olleh'
字串轉化工具
int函數將字串轉換為數字,str函數將數字轉換為字串表達形式。repr函數也能夠將一個對象轉換為其字串形式,然後這些返回的對象將作為代碼的字串,可以重新建立對象。
不可變性
字串屬於不可變序列,即不能在原地修改一個字串,例如,給一個索引進行賦值。若要改變一個字串,需要利用合并,分區這樣的工具來建立並賦值給一個新的字串,倘若必要的話,還要將這個結果賦值給字串最初的變數名。
>>>S = 'spam'>>>S[0] = "x"#不允許修改S的值 >>>S = S + "SPAM">>>S'spamSPAM' >>>S = 'splot'>>>S = S.replace('pl', 'plmal')>>>S'splmalot'