Python中提供了豐富的字符串函數,可以幫助我們靈活的處理字符串。
在本站前面的文章中,介紹了把字符串中第1個字母變成大寫的函數capitalize(),以及把字符串中每個字母變成小寫的函數casefold().這篇文章將介紹Python中另外一個字符串處理函數 center() .
Python中 center() 函數的作用是在一個字符串兩側以特定的字符進行填充,并使原字符串處于居中的位置。
該函數執行時會產生一個新的字符串,不影響原字符串的值。
Python中center()函數的語法格式如下:
string_name.center(width, fillchar)
該函數有兩個參數:
width: 填充后字符串的總寬度,此參數決定了填充區域的大??;
fillchar:填充的字符,默認為空格,而且只能是一個字符。
str1 = "武林網VEVB"
str2 = str1.center(16)
print(str2)
輸出: 武林網VEVB
以上輸出結果中前邊有4個空格,后邊有5個空格。當center函數不指定第2個參數時,將會在字符串兩側以空格進行填充。
str1 = "武林網VEVB"
str2 = str1.center(16,"*")
print(str2)
輸出:****武林網VEVB*****
以上兩例在Python 3.8.2中的運行情況如下圖所示:
str1 = "武林網VEVB"
str2 = str1.center(5,"*")
print(str2)
輸出:武林網VEVB
str1 = "武林網VEVB"
str2 = str1.center(7,"*")
print(str2)
輸出:武林網VEVB
str1 = "武林網VEVB"
str2 = str1.center(-1,"*")
print(str2)
輸出:武林網VEVB
str1 = "武林網VEVB"
str2 = str1.center(0,"*")
print(str2)
輸出:武林網VEVB
以上三個例子在Python 3.8.3 IDLE中運行的結果如下圖所示:
可以看到,width參數的值小于或等于字符串的長度 7 時,則該函數不會在字符串兩側進行填充,而是直接輸出字符串本身。
實際上,width可以為任何整數(包括負整數或0),但是當width的值小于或等于字符串長度時,就不會起作用。
Python中center()函數會把填充字符均勻的填充到字符串兩側,但是當width參數的值與字符串長度值的差為奇數時,center()函數會按照下面的規律進行填充:
(1)字符串長度為奇數時,center()函數會把多出的字符填充在字符串的右側;
(2)字符串長度為偶數時,center()函數會把多出的字符填充到字符串的左側。
下面看三個例子:
str1 = "I Love You!" #字符串長度為11
str2 = str1.center(15, "♥") #width與字符串長度的差為4
print(str2) #字符串兩側填充的字符各2個
輸出:♥♥I Love You!♥♥
str1 = "I Love You!" #字符串長度為11
str2 = str1.center(16,"♥") #width與字符串長度的差為5
print(str2)
輸出:♥♥I Love You!♥♥♥
str1 = "I Love You" #字符串長度為10
str2 = str1.center(15,"♥") #width與字符串長度的差為5
print(str2)
輸出:♥♥♥I Love You♥♥
在Python 3.8.2 IDLE中運行的結果如下:
另外,在使用center()函數時,width參數是必須的,且只能為整數,下面圖中所示的幾種使用方法都是錯誤的。
新聞熱點
疑難解答