问题
你想通过某种对齐方式来格式化字符串
解决方案
对于基本的字符串对齐操作,可以使用字符串ljust(),rjsut()和center()方法。比如:
text='Hello World'
print(text.ljust(20))
print(text.rjust(20))
print(text.center(20))
'''
Hello World
Hello World
Hello World
'''
所有这些方法都能接受一个可选的填充字符。比如:
print(text.rjust(20, '=')) # ->=========Hello World
print(text.center(20, '*')) # ->****Hello World*****
函数format()同样可以用来很容易的对齐字符串。你要做的就是使用<,>或者^字符后面紧跟一个指定的宽度。比如:
print(format(text,'>20'))
print(format(text,'<20'))
print(format(text,'^20'))
'''
Hello World
Hello World
Hello World
'''
如果你想指定一个非空格的填充字符,将它写到对齐字符的前面即可:
print(format(text,'=>20s')) # ->=========Hello World
print(format(text,'*^20')) # ->****Hello World*****
当格式化多个值的时候,这些格式代码也可以被用在format()方法中,比如:
print('{:>10s}{:>10s}'.format('hello','world')) # -> hello world
format()函数的一个好处是它不仅适用于字符串。它可以用来格式化任何值,使得它非常的通用,比如,你可以用它来格式化数字:
x=1.2345
print(format(x,'>10')) # -> 1.2345
print(format(x,'^10.2f')) # -> 1.23