Python center()函数详解,Python字符串居中

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

center() 可以使字符串「居中」,并在两边「填充」指定数量的新字符。

语法

string.center( width, fillchar )

参数

  • width :(必选,整型)字符串的宽度
  • fillchar :(可选,字符串类型)填充的字符,默认填充空格

返回值

  • 返回格式修改后的「新字符串」

实例:字符串居中并且两边空出来20个字符的宽度

print('Helo World'.center(20))

输出:

在这里插入图片描述

1、指定字符串的宽度

宽度「大于」字符串「长度」时,会在两边空出来,比如字符串长度时6,宽度为8时,左右两边各空一个宽度;宽度为10时,左右两边各空两个宽度,以此类推。如果宽度是「奇数」,就优先空「左边」

print('123456'.center(8))
print('123456'.center(9))
print('123456'.center(10))

输出:

在这里插入图片描述

宽度「小于」字符串「长度」时,两边不会空。

print('123456'.center(3))
print('123456'.center(5))
print('123456'.center(0))

输出:

在这里插入图片描述

2、指定填充字符

只有设置的宽度「大于」字符串「长度」时,才会「填充」字符,否则无法填充;如果不指定填充字符,就默认填充空格。

print('123456'.center(10, '-'))

输出:

--123456--

如果设置的宽度「小于」字符串, center() 不会填充字符串,而是返回原字符串,我们打印一下转换前、后的字符串「内存地址」,可以发现,是同一个变量。

str1 = '123456'
print(id(str1))
print(id(str1.center(5, '-')))

输出:

1844873596784
1844873596784

3、返回的是新字符串

Python中的字符串是「不可变」类型,两边填充的字符并不是在原字符串上填充,而是「创建」一个两边添加了指定字符的新字符串。

我们打印一下内存地址,就能发现,转换前、后的字符串是两个「不同的变量」

str1 = 'hello world'
print(id(str1))
print(id(str1.center(20)))

输出:

2051430879088
2051430643312

4、常见错误

使用 center() 时,必须指定「宽度」,否则会报错 TypeError: center expected at least 1 argument

在这里插入图片描述

宽度必须是「整型」,否则会报错 TypeError: integer argument expected

在这里插入图片描述

填充的字符必须是 Unicode 字符,否则会报错 TypeError: The fill character must be a unicode character

提示:Python的string类基于Unicode字符集,所以这里必须是Unicode字符。

在这里插入图片描述

填充的字符只能是「一个字符」,否则会报错 TypeError: The fill character must be exactly one character long

在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/wangyuxiang946/article/details/131515977
今日推荐