问题

你想通过某种对齐方式来格式化字符串

解决方案

对于基本的字符串对齐操作,可以使用字符串的 ljust() , rjust() center() 方法。比如:

> text = 'Hello World'
> text.ljust(20)
'Hello World     '
> text.rjust(20)
'     Hello World'
> text.center(20)
'  Hello World   '
>

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

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

函数 format() 同样可以用来很容易的对齐字符串。 你要做的就是使用 <,> 或者 ^ 字符后面紧跟一个指定的宽度。比如:

> 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'
>

但是,在新版本代码中,你应该优先选择 format() 函数或者方法。 format() 要比 % 操作符的功能更为强大。 并且 format() 也比使用 ljust() , rjust() center() 方法更通用, 因为它可以用来格式化任意对象,而不仅仅是字符串。

如果想要完全了解 format() 函数的有用特性, 请参考 在线Python文档

以上就是Python如何对齐字符串的详细内容,更多关于Python对齐字符串的资料请关注其它相关文章!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。