Python 字符串 center() 方法

Python center() 语法

center() 是 Python 字符串的一个方法,它使用指定字符来填充字符串,然后返回一个新的居中字符串。

语法:

str.center(width, fillchar=' ')

说明:

center() 方法接收以下 2 个参数。

  • width(必选):填充后的字符串长度。如果 width 小于或等于字符串的长度,则返回原字符串的副本。
  • fillchar(可选):填充字符,默认使用空格填充。fillchar 必须是单个字符,如果提供多于一个字符,则会引发 TypeError 异常。

注意: center() 返回居中后的新字符串。当填充长度无法平分时,左侧填充字符比右侧少一个。

Python center() 摘要

使用频率
修改原字符串
官方文档 查看
相关方法 ljust()rjust()

Python center() 示例

接下来,我们通过几个简单的例子来讲解 Python center() 方法是如何使用的。

示例 1:center() 带 1 个参数

s = 'Python'
result = s.center(10)
print(result)            # '  Python  '
print(len(result))

运行结果如下。

  Python  
10

分析:

当 center() 方法只带 1 个参数时,表示使用空格来填充。其中,s.center(10) 等价于 s.center(10, ' ')。

示例 2:center() 带 2 个参数

s = 'Python'
result = s.center(10, '*')
print(result)            # '**Python**'
print(len(result))

运行结果如下。

**Python**
10

分析:

当 center() 方法带 2 个参数时,表示使用指定字符在原字符串的两侧进行填充。在此例中,原字符串 'Python' 长度为 6,目标长度为 10,因此两侧各填充了 2 个 '*' 字符。

提示: 如果目标长度改为 11(填充总数为 5),根据 Python 规则,左侧会填充 2 个,右侧填充 3 个,即左侧比右侧少一个。

示例 3:参数 width 小于原字符串长度

s = 'hello'
result = s.center(3, '-')

print(result)
print(len(result))

运行结果如下。

hello
5

分析:

当参数 width(3)小于原字符串长度(5)时,此时 center() 会直接返回原字符串,而忽略填充字符。

示例 4:参数 fillchar 长度大于 1

s = 'abc'
result = s.center(5, '**')
print(result)

运行结果如下。

(报错)TypeError: The fill character must be exactly one character long

分析:

对于 s.center(5, '**') 来说,参数 fillchar 的值为 '**',此时长度大于 1,因此会抛出 TypeError 异常。

ljust()、rjust() 与 center() 的区别

ljust()rjust() 和 center() 这 3 个方法都是用于实现字符串的对齐方式,它们之间的区别如下。

  • ljust():左对齐,在右侧填充字符。
  • rjust():右对齐,在左侧填充字符。
  • center():居中对齐,在两侧填充字符。

示例 5:ljust() vs rjust() vs center()

s = '666'
print(s.ljust(5, '-'))
print(s.rjust(5, '-'))
print(s.center(5, '-'))

运行结果如下。

666--
--666
-666-

上一篇: rjust()

下一篇: zfill()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号