本节书摘来自异步社区《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+++++++++