且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Python Cookbook(第2版)中文版》—— 1.4 字符串对齐

更新时间:2022-09-09 23:40:45

本节书摘来自异步社区《Python Cookbook(第2版)中文版》一书中的第1章,第1.4节,作者[美]Alex Martelli , Anna Martelli Ravenscrof , David Ascher ,高铁军 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 字符串对齐

任务

实现字符串对齐:左对齐,居中对齐,或者右对齐。
解决方案

这正是string对象的ljust、rjust和center方法要解决的问题。每个方法都需要一个参数,指出生成的字符串的宽度,之后返回一个在左端、右端、或者两端都添加了空格的字符串拷贝:

>>> print '|', 'hej'.ljust(20), '|', 'hej'.rjust(20), '|', 'hej'.center(20), '|'
| hej             |             hej |       hej       |

讨论

我们常常能够碰到居中、左对齐或右对齐的文本—比如,你可能会打印一个简单的报告,并以monospace字体居中显示页码。正因为这种需求很常见,Python的string对象提供了三个简单好用的方法。在Python 2.3中,填充字符只能是空格。在Python 2.4中,默认情况下仍然使用空格,但是可以给这三种方法第二个参数,指定一个填充字符:

>>> print 'hej'.center(20, '+')
++++++++hej+++++++++