Python 常用的字符串,字符串格式化表達式
python3中常用的字符串方法:method
方法的調用語法:
對象.方法名(方法傳參)
說明:方法的調用同函數的調用一樣屬於表達式。
常用字符串方法
方法 說明
S.isdigit() 判斷字符串中的字符是否全為數字
>>> a = '12345' >>> a.isdigit() True >>>
S.isalpha() 判斷字符串是否全為英文字母
>>> a = 'abcde' >>> a.isalpha() True >>>
S.islower() 判斷字符串所有字符是否全為小寫英文字母
>>> a = 'abcd' >>> a.islower() True #都是小寫,返回True >>> a = 'abcdEF' >>> a.islower() #其中有大寫,所以返回False False >>>
S.isupper() 判斷字符串所有字符是否全為大寫英文字母
>>> a = 'ABCD' >>> a.isupper() True >>> a = 'ABCDcd' >>> a.isupper() False >>>
S.isspace() 判斷字符串是否全為空白字符
>>> a = ' ' >>> a.isspace() True >>> a = '1' >>> a.isspace() False >>>
S.center(width[,fill]) 將原字符串居中,左右默認填充空格
>>> a = 'abcd' >>> a.center(20) #默認兩邊填充空格 ' abcd ' >>> a.center(20,'#') #定義了填充物'#' 兩邊填充 # '########abcd########' >>> a.center(20,'+') '++++++++abcd++++++++' >>>
S.count(sub[, start[,end]]) 獲取一個字符串中子串的個數 (常用)
>>> s = 'hello world' >>> s.count('h') #獲取字符串中h有多少個 1 >>> s.count('l') 3 >>> s.count(' ') #獲取字符串中空格有多少個 1 >>>
S.find(sub[, start[,end]]) 獲取字符串中子串sub的索引,失敗返回-1
參數
sub -- 指定檢索的子字符串
S -- 父字符串
start -- 可選參數,開始索引,默認為0。(可單獨指定)
end -- 可選參數,結束索引,默認為字符串的長度。(不能單獨指定)
>>> x = 'abcde' #從0下標開始找,查找在字符串的第一個出現的子串,因為沒定義重多少為開始找,默認重0開始找,返回結果為0 >>> x.find('a') 0 >>> x.find('a',1) #定義重第一位開始找a在字符串中的第幾位I出現,因為a在0位,0後面沒有其他的a了,所以從1位開始找的話,找不到,所以顯示-1 -1 >>> x.find('a',2) -1 >>> x = 'abcdea' #這個字符串中最後多加了一個a,從第二開始找的話第五位有a,所以返回5,在第五位可以找到。 >>> x.find('a',2) 5 >>>
S.strip() 返回去掉左右空白字符的字符串
>>> a = ' abc ' >>> a ' abc ' >>> a.strip() 'abc' >>>
S.lstrip() 返回去掉左側空白字符的字符串
>>> a = ' abc ' >>> a.lstrip() 'abc '
S.rstrip() 返回去掉右側空白字符的字符串
>>> a = ' abc ' >>> a.rstrip() ' abc'
S.upper() 生成將英文轉換為大寫的字符串
>>> a = 'abcde' >>> a.upper() 'ABCDE' >>>
S.lower() 生成將英文轉換為小寫的字符串
>>> a = 'ABCDE' >>> a.lower() 'abcde' >>>
S.replace(old, new[, count]) 方法用於把字符串中指定的舊子字符串替換成指定的新子字符串,如果指定 count 可選參數則替換指定的次數,默認全部替換。
參數:
old -- 指定的舊子字符串
new -- 指定的新子字符串
count -- 可選參數,替換的次數,默認為指定的舊子字符串在字符串中出現的總次數。
>>> a = 'abcdrf' >>> a.replace('a', 'h') #替換原來字符串中的'a' 用新字符'h'代替 'hbcdrf' >>> a = 'abcdrfaca' >>> a.replace('a', 'g',2) #字符'a' 在字符串中出現多次。後面的2代表從左至右將前面兩次的'a'替換成'g' 'gbcdrfgca' >>> a.replace('a', 'g',1) 'gbcdrfaca' >>> a.replace('a', 'g',3) 'gbcdrfgcg' >>> a.replace('a', 'g') #後面不加cunt參數默認全部替換。 'gbcdrfgcg' >>>
S.startswith(prefix[, start[, end]]) 返回S是否是以prefix開頭,如果以prefix開頭返回True,否則返回False,
參數:
S -- 父字符串。
prefix -- 指定前綴,該參數可以是一個字符串或者是一個元素。
start -- 可選參數,字符串中的開始位置索引,默認為0。(可單獨指定)
end -- 可選參數,字符中結束位置索引,默認為字符串的長度。(不能單獨指定)
>>> a = 'hello python' >>> a.startswith('h') True >>> a.startswith('p',6) True >>> a.startswith('o',4,1) False >>> a.startswith('o',4,4) False
S.endswith(suffix[, start[, end]]) 方法用於判斷字符串是否以指定後綴結尾,如果是則返回 True,否則返回 False
參數和上面的一樣
>>> a = 'hello python' >>> a.endswith('n',11) True >>>
以下是不常用的
S.title() 生成每個英文單詞的首字母大寫字符串
>>> a = 'hello python' >>> a.title() 'Hello Python' >>>
S.isnumeric() 判斷字符串是否全為數字字符
>>> a = '1234' >>> a.isnumeric() True >>
二:
字符串格式化表達式:
作用:
生成一定格式的字符串
運算符:
%
格式:
格式化字符串 % 參數值
或
格式化字符串 % (參數值1,參數值2,......)
格式化字符串中的占位符和類型碼
占位符類型碼意義
%s字符串
%r字符串,使用repr 而不是str
%c整數轉為單個字符
%d十進制整數
%o八進制整數
%x十六進制整數(字符a-F小寫)
%X十六進制整數(字符A-F大寫)
%e指數型浮點數(e小寫),如2.9e+10
%E指數型浮點數(E大寫),如2.9E+10
%f, %F浮點十進制形式
%g, %G十進制形式浮點或指數浮點自動轉換
%%等同於一個%字符
示例:
>>> n = "姓名:%s, 年齡: %d" >>> name= "張三" >>> age = 20 >>> print(n %(name, age)) 姓名:張三, 年齡: 20 >>>
占位符 % 和類型碼之間的格式語法:
% [格式語法] 類型碼(d,s,f等)
格式語法:
- 左對齊
+ 顯示正負號
0 補零
寬度
寬度.精度
>>> a = 'abc' >>> print("%20s" %a) #向右對齊,默認以空格填充 abc >>> >>> a = 'abc' >>> print("%-10s" %a) #向左對齊,默認以空格填充 abc >>> >>> a = 3.1415926 >>> print("%.2f" %(a)) #浮點十進制形式,".2"代表取多少位小數 3.14 >>> print("%.3f" %(a)) 3.142 >>> print("%10.3f" %(a)) #浮點十進制形式,前面補十位空格 3.142 >>> .......
Python 常用的字符串,字符串格式化表達式