一、字串簡介
字串序列用於表示和儲存文字,python中字串是不可變物件。字串是一個有序的字元的集合,用於儲存和表示基本的文字資訊。
字串是 Python 中最常用的資料型別。以使用引號(`或”)來建立字串。
name = `lol` age = `20` #這個也是字串哦
二、轉義符
Python支援轉義字元進行輸出,在需要在字元中使用特殊字元時,需要使用反斜槓’’.
以下為常用的轉義符:
(在行尾時) |
續行符 |
\ |
反斜槓符號 |
` |
單引號 |
“ |
雙引號 |
退格(Backspace) |
|
|
換行 |
製表符 |
|
|
表示將游標的位置回退到本行的開頭位置 |
簡單示例:
str1 = `aaaaaaaa` `bbbbbbbbbb` #續行 str2 = `ccc\ccc` #顯示出反斜槓 str3 = `I`m` #顯示出單引號 str4 = `"Ok"` #顯示出雙引號 str5 = `abcd` #退格 str6 = `one line two line` #換行 str7 = `zhi biao` #製表符 str8 = `111 22` #游標的位置回退到本行的開頭位置
列印結果為:
aaaaaaaabbbbbbbbbb cccccc I`m "Ok" abc one line two line ******************** zhi biao 22
三、Python字串運算子
操作符 | 描述 |
+ | 字串連線 |
* | 重複輸出字串 |
[] | 通過索引獲取字串中字元 |
[:] | 擷取字串中的一部分(左閉右開) |
in | 成員運算子 – 如果字串中包含給定的字元返回 True |
not in | 成員運算子 |
r/R | 原始字串 |
示例:
a = `Hello` b = `World` print(`a+b的輸出結果為:`,a+b) print("a*2 輸出結果:",a * 3) print("a[1] 輸出結果:",a[2]) print("a[1:4] 輸出結果:",a[2:4])
輸出結果為:
a+b的輸出結果為: HelloWorld a*2 輸出結果: HelloHelloHello a[1] 輸出結果: l a[1:4] 輸出結果: ll
四、字串的方法:
根據python3.x的字串原始碼檔案可見,總共44個方法,以下為筆者列舉的常用的字串方法
首字母大寫: str = abc.capitalize() 首字母小寫: str = abc.casefold() 設定字串寬度,並居中,空白位置居中 str = abc.center(20,`*`)//填充可有可無 左:str = abc.ljust(20,`*`) 右:str = abc.rjust(20,`*`) 計算字串出現的個數: str = abc.count(`a`,5,10)//從第5位到第10位尋找 判斷是否按要求字串開頭、 結尾 str = abc.endswith(`bc`) str = abc.startswith(`ab`) 從開始往後找,找到第一個字串後,獲取其位置: str = abc.find(`ab`,6,10)//可規定位置 格式化,將一個字串中的佔位符替換為指定的值: test = `I am {name}!` str = test.format (name = `jiangfeng`) str2 = test.format_map({`name`:`feng`}) 判斷字串中是否只是包含數字和字母: str = abc.isalnum() 對字串進行斷句 date = `name age jiangfeng 18 zhangsan 11` str = date.expandtabs(15) 判斷字串中是否只包含字母 str = abc.isalpha() 判斷字串中是否只包含數字 str = abc.isdecimal() * str = abc.isdigit() str = abc.isnumeric() 判斷字串中是否含有特殊的頁面中無法列印的字元: str = abc.isprintable() 判斷字串是否全是空格 str = abc.isspace() 判斷字串是否是標題格式: str = abc.istitle() 將字串轉化為標題格式: str = abc.title *將字串中的每一個元素按照指定分隔符進行拼接 test = `姜峰` t = ` ` str = t.join(test) or str = ` `.join(test) 對字串進行去除空格處理: str = abc.lstrip()//左 str = abc.rstrip()//右 str = abc.strip()//兩邊 str = abc.strip(`ab`)//去除指定內容 對資料進行分割: str = abc.partition(`a`)//只能把資料分成三份(前) str = abc.rapartition(`a`)//只能把資料分成三份(後) str = abc.split(`a`,2)//按`a`分割,分成2份 str = abc.splitlines(True)//只能根據換行符進行分割 大小寫轉換: str = abc.swapcase() 字串的替換: str = abc.replace(`a`,`b`,(n)) 注:字串一旦建立不可修改;一旦修改或者拼接,都會造成重新生成字串
如果想要看到更加全面的內建函式,可以觀看http://www.runoob.com/python3/python3-string.html上的資訊。