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-