首页 > 开发 > Python > 正文

Python中center()字符串操作函数的使用方法

2023-04-27 19:03:16
字体:
来源:转载
供稿:网友

Python中提供了丰富的字符串函数,可以帮助我们灵活的处理字符串。

在本站前面的文章中,介绍了把字符串中第1个字母变成大写的函数capitalize(),以及把字符串中每个字母变成小写的函数casefold().这篇文章将介绍Python中另外一个字符串处理函数 center() .

Python中 center() 函数的作用是在一个字符串两侧以特定的字符进行填充,并使原字符串处于居中的位置。

该函数执行时会产生一个新的字符串,不影响原字符串的值。

Python中center()函数的语法格式如下:

string_name.center(width, fillchar)

该函数有两个参数:

width: 填充后字符串的总宽度,此参数决定了填充区域的大小;

fillchar:填充的字符,默认为空格,而且只能是一个字符。 

Python中center()函数的使用方法

1、基本使用请情形1

str1 = "武林网VEVB"
str2 = str1.center(16)
print(str2)

输出:    武林网VEVB     

以上输出结果中前边有4个空格,后边有5个空格。当center函数不指定第2个参数时,将会在字符串两侧以空格进行填充。

2、基本使用情形2

str1 = "武林网VEVB"
str2 = str1.center(16,"*")
print(str2)

输出:****武林网VEVB*****

以上两例在Python 3.8.2中的运行情况如下图所示:

Python中center()函数的基本使用

3、参数width的值小于或等于字符串长度

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中运行的结果如下图所示:

Python中center()函数width参数值小于或等于字符串的长度

可以看到,width参数的值小于或等于字符串的长度 7 时,则该函数不会在字符串两侧进行填充,而是直接输出字符串本身。

实际上,width可以为任何整数(包括负整数或0),但是当width的值小于或等于字符串长度时,就不会起作用。

4、center()函数填充规律

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中运行的结果如下:

Python中center()函数填充字符的规律

另外,在使用center()函数时,width参数是必须的,且只能为整数,下面图中所示的几种使用方法都是错误的。

Python中center()函数的错误使用情形

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表