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参数是必须的,且只能为整数,下面图中所示的几种使用方法都是错误的。
新闻热点
疑难解答