加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python实用技法第32篇:对齐文本字符串

发布时间:2020-12-20 10:57:15 所属栏目:Python 来源:网络整理
导读:问题 我们需要以某种对齐方式将文本做格式化处理。 解决方案 对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下: text = ‘Hello World‘ text.ljust(20)‘Hello World ‘ text.rjust(20)‘ Hello World‘ text.center(
问题

我们需要以某种对齐方式将文本做格式化处理。

解决方案

对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下:

>>> text = ‘Hello World‘
>>> text.ljust(20)
‘Hello World ‘
>>> text.rjust(20)
‘           Hello World‘
>>> text.center(20)
‘     Hello World ‘
>>>
Python资源分享qun 784758214,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

所有这些方法都可接受一个可选的填充字符。例如:

>>> text.rjust(20,‘=‘)
‘=========Hello World‘
>>> text.center(20,‘*‘)
‘****Hello World*****‘
>>>

format()函数也可以用来轻松完成对齐的任务。需要做的就是合理利用‘<‘、‘>‘,或‘^‘字符以及一个期望的宽度值[2]。例如:

>>> format(text,‘>20‘)
‘           Hello World‘
>>> format(text,‘<20‘)
‘Hello World ‘
>>> format(text,‘^20‘)
‘     Hello World ‘
>>>

如果想包含空格之外的填充字符,可以在对齐字符之前指定:

>>> format(text,‘=>20s‘)
‘=========Hello World‘
>>> format(text,‘*^20s‘)
‘****Hello World*****‘
>>>

当格式化多个值时,这些格式化代码也可以用在format()方法中。例如:

>>> ‘{:>10s} {:>10s}‘.format(‘Hello‘,‘World‘)
‘    Hello        World‘
>>>

format()的好处之一是它并不是特定于字符串的。它能作用于任何值,这使得它更加通用。例如,可以对数字做格式化处理:

>>> x = 1.2345
>>> format(x,‘>10‘)
‘     1.2345‘
>>> format(x,‘^10.2f‘)
‘     1.23 ‘

讨论

在比较老的代码中,通常会发现%操作符用来格式化文本。例如:

>>> ‘%-20s‘ % text
‘Hello World ‘
>>> ‘%20s‘ % text
‘           Hello World‘
Python资源分享qun 784758214,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

但是在新的代码中,我们应该会更钟情于使用format()函数或方法。format()比%操作符提供的功能要强大多了。此外,format()可作用于任意类型的对象,比字符串的ljust()、rjust()以及center()方法要更加通用。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读