在Python中,字符串可以被索引,也就是下標訪問,通俗點說,就是通過序號獲取字符串中某個位置的字符;
字符串中的第一個字符的索引為0;
除索引外,字符串還支持切片;
索引可以獲取字符串內的某個字符,而切片可以獲取字符串內某個范圍的子字符串;
#注意切片的開始總是被包括其中,而結束不會被包括
切片的索引有默認值,省略起始值則默認為0,省略結束值則默認為字符串的末尾;
如果索引沒有越界,那么切片得到的字符串長度就是起止索引的差,例如word[0:2]的長度為2;
試圖使用過大的索引將會產生一個錯誤;
但是切片中索引的越界會被自動處理;
Python中的字符串是不能被修改的,只能重新被賦值,它們是 immutable (不可變)類型的,因此,嘗試修改字符串的值的時候會產生一個錯誤;
如果想要一個不同的字符串,應當新建一個或重新賦值;
函數len()可以返回一個字符串的長度;
字符串的方法:
方法 描述
str.count(sub[, start[, end]]) 返回子字符串 sub 在 [start, end] 范圍內非重疊出現的次數,可選參數 start 與 end 會被解讀為切片表示法
str.find(sub[, start[, end]]) 返回子字符串 sub 在 s[start:end] 切片內被找到的最小索引。 可選參數 start 與 end 會被解讀為切片表示法。 如果 sub 未被找到則返回 -1
str.index(sub[, start[, end]]) 類似於 find(),但在找不到子類時會引發 ValueError
str.isalnum() 如果字符串中的所有字符都是字母或數字且至少有一個字符,則返回 True , 否則返回 False
str.isalpha() 如果字符串中的所有字符都是字母,並且至少有一個字符,返回 True ,否則返回 False
str.isdigit() 如果字符串中的所有字符都是整數,並且至少有一個字符,返回 True ,否則返回 False
str.islower() 如果字符串中至少有一個區分大小寫的字符,且此類字符均為小寫則返回 True ,否則返回 False
str.isnumeric() 如果字符串中至少有一個字符且所有字符均為數值字符(包括中文),則返回 True ,否則返回 False
str.isspace() 如果字符串中只有空白字符且至少有一個字符則返回 True ,否則返回 False
str.istitle() 如果字符串中至少有一個字符且為標題字符串則返回 True ,例如大寫字符之后只能帶非大寫字符而小寫字符必須有大寫字符打頭。 否則返回 False
str.isupper() 如果字符串中至少有一個區分大小寫的字符 4 且此類字符均為大寫則返回 True ,否則返回 False
str.lower() 返回原字符串的副本,其所有區分大小寫的字符 4 均轉換為小寫
str.replace(old, new[, count]) 返回字符串的副本,其中出現的所有子字符串 old 都將被替換為 new。 如果給出了可選參數 count,則只替換前 count 次出現
str.split(sep=None, maxsplit=-1) 返回一個由字符串內單詞組成的列表,使用 sep 作為分隔字符串。 如果給出了 maxsplit,則最多進行 maxsplit 次拆分(因此,列表最多會有 maxsplit+1 個元素)。 如果 maxsplit 未指定或為 -1,則不限制拆分次數(進行所有可能的拆分)
str.strip([chars]) 返回原字符串的副本,移除其中的前導和末尾字符。 chars 參數為指定要移除字符的字符串。 如果省略或為 None,則 chars 參數默認移除空白符。 實際上 chars 參數並非指定單個前綴或后綴;而是會移除參數值的所有組合
str.upper() 返回原字符串的副本,其中所有區分大小寫的字符均轉換為大寫
