In [1]:
text = "Hello World"
text.ljust(20)
Out[1]:
In [2]:
text.rjust(20)
Out[2]:
In [3]:
text.center(20)
Out[3]:
所有这些方法都能接受一个可选的填充字符。比如:
In [4]:
text.rjust(20, "=")
Out[4]:
In [5]:
text.center(20, "*")
Out[5]:
函数 format()
同样可以用来很容易的对齐字符串。 你要做的就是使用 <,>
或者 ^
字符后面紧跟一个指定的宽度。比如:
In [6]:
format(text, ">20")
Out[6]:
In [7]:
format(text, "<20")
Out[7]:
In [8]:
format(text, "^20")
Out[8]:
如果你想指定一个非空格的填充字符,将它写到对齐字符的前面即可:
In [9]:
format(text, "=>20s")
Out[9]:
In [10]:
format(text, "*^20s")
Out[10]:
当格式化多个值的时候,这些格式代码也可以被用在 format()
方法中。比如:
In [11]:
"{:>10s} {:>10s}".format("Hello", "World")
Out[11]:
format()
函数的一个好处是它不仅适用于字符串。它可以用来格式化任何值,使得它非常的通用。 比如,你可以用它来格式化数字:
In [12]:
x = 1.2345
format(x, ">10")
Out[12]:
In [13]:
format(x, "^10.2f")
Out[13]:
讨论
在老的代码中,你经常会看到被用来格式化文本的 %
操作符。比如:
In [14]:
"%-20s" % text
Out[14]:
In [15]:
"%20s" % text
Out[15]:
但是,在新版本代码中,你应该优先选择 format()
函数或者方法。 format()
要比 %
操作符的功能更为强大。 并且 format()
也比使用 ljust()
, rjust()
或 center()
方法更通用, 因为它可以用来格式化任意对象,而不仅仅是字符串。
如果想要完全了解 format()
函数的有用特性, 请参考 在线 Python
文档