暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python中字符串填充符号并使字符串内容居中的函数

优雅的代码 2021-08-19
2394

->入繁,由理论应用<-

->点击上面 优雅的代码关注<-

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

在本号前面的文章中,介绍了把字符串中第1个字母变成大写的函数capitalize(),以及把字符串中每个字母变成小写的函数casefold()

这篇文章将介绍Python中另外一个字符串处理函数 center() .

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

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

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

string_name.center(widthfillchar)

该函数有两个参数:

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

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

1、基本使用情形1

str1 = "翔宇亭IT乐园"
str2 = str1.center(16)
print(str2)

输出: 翔宇亭IT乐园

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

2、基本使用情形2

str1 = "翔宇亭IT乐园"
str2 = str1.center(16,"*")
print(str2)

输出:****翔宇亭IT乐园*****
以上两例在Python 3.8.2中的运行情况如下图所示:

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

str1 = "翔宇亭IT乐园"
str2 = str1.center(5,"*")
print(str2)

输出:翔宇亭IT乐园

str1 = "翔宇亭IT乐园"
str2 = str1.center(7,"*")
print(str2)

输出:翔宇亭IT乐园

str1 = "翔宇亭IT乐园"
str2 = str1.center(-1,"*")
print(str2)

输出:翔宇亭IT乐园

str1 = "翔宇亭IT乐园"
str2 = str1.center(0,"*")
print(str2)

输出:翔宇亭IT乐园

以上三个例子在Python 3.8.3 IDLE中运行的结果如下图所示:

可以看到,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中运行的结果如下:

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

关于Python center()函数就介绍到这里。



如果你认为这篇文章可能会给他人有所帮助,就请你把这篇文章

分享给他人↓

如果你认为这篇文章有用就

      请你点个赞↓

如果你认为你的朋友都需要了解一下这篇文章的内容,请你
点亮在看↓
文章转载自优雅的代码,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论