1. 程式人生 > >Python 常用的字符串,字符串格式化表達式

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 常用的字符串,字符串格式化表達式