字串

字串是一個被視為值的不可變字元序列。字串支援所有生成新字串的不可變序列函數和運算子。例如,"abcdef"[1:4] 將生成輸出 "bcd"

在 Python 中,字元由長度為 1 的字串代表。

字串文字通過使用單重參照或三引號來定義。使用單引號定義的字串不能跨行,而使用三引號定義的字串可以跨行。可以將字串括在單引號 (') 或雙引號 (") 中。參照字元可以包含其他未跳出的參照字元或已跳出(即,前面帶有反斜線 (\) 字元)的參照字元。

範例

"This is a string"
'This is also a string'
"It's a string"
'This book is called "Python Scripting and Automation Guide".'
"This is an escape quote (\") in a quoted string"

Python 剖析器將自動連結多個以空格分隔的字串。這樣您可以更輕鬆地鍵入長字串,並且更容易在單個字串中混用引號類型,例如:

"This string uses ' and " 'that string uses ".'

這會導致下列輸出:

This string uses ' and that string uses ".

字串支援一些有用的方法。下表中會提供一些方法。

表 1. 字串方法
方法 用法
s.capitalize() s 執行首字母大寫
s.count(ss {,start {,end}}) 計算 sss[start:end] 中的出現次數
s.startswith(str {, start {, end}})
s.endswith(str {, start {, end}}) 
測試以請參閱 s 是否以 str 開頭
測試以請參閱 s 是否以 str 結尾
s.expandtabs({size}) 將 Tab 取代為空格,預設 size 為 8
s.find(str {, start {, end}})
s.rfind(str {, start {, end}})
s 中尋找 str 的第一個指標;如果找不到,那麼結果為 -1。rfind 由右至左進行搜尋。
s.index(str {, start {, end}})
s.rindex(str {, start {, end}})
s 中尋找 str 的第一個指標;如果找不到,那麼將引起 ValueErrorrindex 從右到左進行搜尋。
s.isalnum 測試以請參閱字串是否為英數字串
s.isalpha 測試以請參閱字串是否為英文字母字串
s.isnum 測試以請參閱字串是否為數值字串
s.isupper 測試以請參閱字串是否為全部大寫
s.islower 測試以請參閱字串是否為全部小寫
s.isspace 測試以請參閱字串是否全是空格
s.istitle 測試以請參閱字串是否為首字母大寫的英數字串序列
s.lower()
s.upper()
s.swapcase()
s.title()
轉換為全部小寫
轉換為全部大寫
轉換為觀察值顛倒
轉換為全部首字母大寫
s.join(seq) seq 中的字串結合起來,以 s 作為分隔字元
s.splitlines({keep}) s 分割為多行,如果 keep 為 true,那麼將使用換行
s.split({sep {, max}}) 使用 sep(預設 sep 為空格)將 s 分割為「單字」,最多分割 max
s.ljust(width)
s.rjust(width)
s.center(width)
s.zfill(width)
在寬度為 width 的欄位中,將字串靠左對齊
在寬度為 width 的欄位中,將字串靠右對齊
在寬度為 width 的欄位中,將字串居中排列整齊
用 0 進行填充。
s.lstrip()
s.rstrip()
s.strip()
移除前導空格
移除尾部空格
移除前導和尾部空格
s.translate(str {,delc}) 除去 delc 中的所有字元後,使用表格轉換 sstr 應該是長度為 == 256 的字串。
s.replace(old, new {, max}) 使用字串 new 取代所有或 maxold 字串