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'
新聞熱點
疑難解答