问题:以某种对齐方式将文本做格式化处理
解决方案:
1、针对字符串:ljust()、rjust()、center()方法
2、针对任何值,更加通用的:format() 更多内容:https://docs.python.org/3/library/string.html#formatspec
>>> text='Hello World'
>>> text.ljust(20)
'Hello World '
>>> text.rjust(20)
' Hello World'
>>> text.center(20)
' Hello World '
>>> text.ljust(20,'=')
'Hello World========='
>>> text.rjust(20,'*')
'*********Hello World'
>>> text.center(20,'+')
'++++Hello World+++++'
format():
格式限定符
它有着丰富的的“格式限定符”(语法是{}中带:号),比如:
填充与对齐填充常跟对齐一起使用
^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
精度与类型f精度常跟类型f一起使用
其他类型主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
用,号还能用来做金额的千位分隔符。
>>> format(text,'>20')
' Hello World'
>>> format(text,'<20')
'Hello World '
>>> format(text,'^20')
' Hello World '
>>> format(text,'*>20') #空格外的其他填充字符可以在对齐字符之前指定
'*********Hello World'
>>> format(text,'=<20')
'Hello World========='
>>> format(text,'%^20')
'%%%%Hello World%%%%%'
>>> #当格式化多个值时,格式化代码代码可以用在format()方法中
>>> '{:>10} {:>10}'.format('Hello','World')
' Hello World'
>>> '{:>10} {:%^10}'.format('Hello','World')
''
>>> '{:#<10} {:%^10}'.format('Hello','World')
'Hello##### %%World%%%'
>>> '{:<20}'.format('Hello World')
'Hello World '
>>> '{:*<20}'.format('Hello World')
'Hello World*********'
>>> '{:^20}'.format('Hello World')
' Hello World '