Recipe 1.4. Aligning Strings
Recipe 1.4. 對齊字符串
Credit: Luther Blissett
問題
您想按照居左、居右、居中的方式來擺放字符串。
解法
字符串對象的 ljust, rjust, center 方法正是爲此而準備的。每個方法都接收單個實參,用來指明操作結果中字符串的寬度;方法的返回結果是個字符串,其中包含了原來的字符串以及追加的空格符:
>>> print '|', 'hej'.ljust(20), '|', 'hej'.rjust(20), '|', 'hej'.center(20), '|'
| hej | hej | hej |
討論
對文本進行居中、居左或居右的擺放要求出現得頗爲頻繁,比如您要以等寬字體打印一份簡單的報告,每頁的頁碼要求居中擺放。針對此類情形,Python 中的字符串對象提供了三種方法來應對。在 Python 2.3 中,用於填充的字符總是空格符;而在 Python 2.4 中,默認的填充字符還是空格符,但您還可以提供第二個實參給 ljust, rjust, center 方法,來指定用於填充的字符:
>>> print 'hej'.center(20, '+')
++++++++hej+++++++++
請參見
Library Reference 中關於字符串方法的章節;Java Cookbook 一書中的 Recipe 3.5 條目。