Python如何对齐字符串
问题
你想通过某种对齐方式来格式化字符串
解决方案
对于基本的字符串对齐操作,可以使用字符串的ljust(),rjust()和center()方法。比如:
>>>text='HelloWorld' >>>text.ljust(20) 'HelloWorld' >>>text.rjust(20) 'HelloWorld' >>>text.center(20) 'HelloWorld' >>>
所有这些方法都能接受一个可选的填充字符。比如:
>>>text.rjust(20,'=') '=========HelloWorld' >>>text.center(20,'*') '****HelloWorld*****' >>>
函数format()同样可以用来很容易的对齐字符串。你要做的就是使用<,>或者^字符后面紧跟一个指定的宽度。比如:
>>>format(text,'>20') 'HelloWorld' >>>format(text,'<20') 'HelloWorld' >>>format(text,'^20') 'HelloWorld' >>>
如果你想指定一个非空格的填充字符,将它写到对齐字符的前面即可:
>>>format(text,'=>20s') '=========HelloWorld' >>>format(text,'*^20s') '****HelloWorld*****' >>>
当格式化多个值的时候,这些格式代码也可以被用在format()方法中。比如:
>>>'{:>10s}{:>10s}'.format('Hello','World') 'HelloWorld' >>>
format()函数的一个好处是它不仅适用于字符串。它可以用来格式化任何值,使得它非常的通用。比如,你可以用它来格式化数字:
>>>x=1.2345 >>>format(x,'>10') '1.2345' >>>format(x,'^10.2f') '1.23' >>>
讨论
在老的代码中,你经常会看到被用来格式化文本的%操作符。比如:
>>>'%-20s'%text 'HelloWorld' >>>'%20s'%text 'HelloWorld' >>>
但是,在新版本代码中,你应该优先选择format()函数或者方法。format()要比%操作符的功能更为强大。并且format()也比使用ljust(),rjust()或center()方法更通用,因为它可以用来格式化任意对象,而不仅仅是字符串。
如果想要完全了解format()函数的有用特性,请参考在线Python文档
以上就是Python如何对齐字符串的详细内容,更多关于Python对齐字符串的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。