第14講:字串--各種奇葩內建方法
阿新 • • 發佈:2020-07-08
一 字串
1 定義:由數字、下劃線、字母組成的一段字元
2 建立:我們用雙引號或者單引號建立一個字串,例如:s = "I love you!"
3 切片/擷取:使用方括號和冒號擷取字串,具體語法為:[頭下標:尾下標:步長]
- 獲取的子字串包含頭下標的字元,但不包含尾下標的字元。
- 下標為空:表示從頭取到尾
- 下標為正:使用正索引從字串開頭開始切片/擷取
- 下標為負:使用負索引從字串末尾開始切片/擷取
- [頭下標:尾下標:步長] :Python 列表擷取可以接收第三個引數,引數作用是擷取的步長
4 更新:使用切片的方法重新構建一個字串,原來的字串還在,不用的話會被垃圾回收機制回收
二 字串方法
- capitalize():把字串第一個字元改為大寫
- casefold():將字串的所有字元轉為小寫
- center(width) 將字串居中,並使用空格填充長度為width的字串
- count(sub[start[,end]]) 返回某個子字串在整個字串裡面出現的次數
- encode(encoding = 'utf-8',errors='strict') 以enconding指定編碼格式對字串進行編碼
- endswith(sub[start[,end]]) 檢查字串是否以sub字串結束,如果是返回True,否則返回False
- startswith(sub[start[,end]]) 檢查字串是否以sub字串開始,如果是返回True,否則返回False
- expandtabs([tabsize=8]) 把字串中的tab符號"\t"轉化為空格,如果不指定引數,預設tabsize=8
- find(sub[start[,end]]) 檢測sub是否包含在字串中,如果有則返回索引值,否則返回-1,start和end表示引數範圍,可選
- rfind(sub[start[,end]]) 和find()方法類似,不過是從字串右邊開始查詢
- index(sub[start[,end]]) 和find一樣,不過如果sub不在字串中會返回一個異常
- rindex(sub[start[,end]]) 類似於index方法,不過是從右邊開始找
- isalnum()所有字元都是數字或者字母,為真返回 True,否則返回 False。
- isalpha() 所有字元都是字母,為真返回 True,否則返回 False。
- isdigit() 所有字元都是數字,為真返回 True,否則返回 False。
- islower() 所有字元都是小寫,為真返回 True,否則返回 False。
- isupper() 所有字元都是大寫,為真返回 True,否則返回 False。
- istitle() 所有單詞都是首字母大寫,為真返回 True,否則返回 False。
- isspace() 所有字元都是空白字元,為真返回 True,否則返回 False。
- isdecimal() 如果字串只包含十進位制數則返回true,否則返回false。
- isnumeric() 如果字串中只包含數字,則返回true,否則返回false
- join(sub) 以字串作為分隔符,插入到字串中的所有sub字元之間
- isjust(width) 返回一個左對齊的字串,並使用空格填充至長度為width的新字串
- rsjust(width) 返回一個右對齊的字串,並使用空格填充至長度為width的新字串
- istrip() 去掉字串左邊的所有空格
- strip() 刪除字串前邊和後面的所有空格,中間的空格不刪
- rstrip() 去掉字串末尾的所有空格
- partition(sub) 找到字串sub,把字串分成一個三元組(pre_sub,sub,fol_sub),如果字串不包含sub則返回('原字串',' ',' ')
- rpartition(sub) 類似於partition方法,不過是從右邊開始查詢
- replace(old,new[,count]) 把字串中的old字串替換成新的字串new,如果count指定,則替換不超過count次
- split(sep=None,maxsplit=-1) 不帶引數預設是以空格為分隔符切片字串,如果maxsplit引數有設定,則僅分隔maxsplit個字串,返回切片後的字串拼接的列表
- splitlines([keepends]) 按照'\n'分隔,返回一個包含各行作為元素的列表,如果keepends引數指定,則返回前keepends行
- swapcase() 翻轉字串中的大小寫
- title() 返回標題化(所有單詞都是首字母大些,其餘字母小寫)的字串
- translate(table) 根據table規則(可以由str.maketrans('a','b')定製)轉換字串中的字元
- lower() 字串中所有大寫字母轉換為小寫
- upper() 字串中所有小寫字母轉換為大寫
- zfill(width) 返回字串長度為width的字串,原字串右對齊,前面用0填充
translate(table) :舉例
>>> str7 = 'aaaaassssssaaaaa' >>> str7.translate(str7.maketrans('s','b')) 'aaaaabbbbbbaaaaa' >>> str7.maketrans('s','b') {115: 98} >>>