2.13 å—符串对é½�¶
问题¶
ä½ æƒ³é€šè¿‡æŸ�ç§�对é½�æ–¹å¼�æ�¥æ ¼å¼�化å—符串
解决方案¶
对于基本的å—符串对é½�æ“�作,å�¯ä»¥ä½¿ç”¨å—符串的 ljust() , rjust() å’Œ center() 方法。比如:
>>> text = 'Hello World'
>>> text.ljust(20)
'Hello World '
>>> text.rjust(20)
' Hello World'
>>> text.center(20)
' Hello World '
>>>
所有这些方法都能接å�—一个å�¯é€‰çš„å¡«å……å—符。比如:
>>> text.rjust(20,'=')
'=========Hello World'
>>> text.center(20,'*')
'****Hello World*****'
>>>
函数 format() å�Œæ ·å�¯ä»¥ç”¨æ�¥å¾ˆå®¹æ˜“的对é½�å—符串。
ä½ è¦�å�šçš„就是使用 <,> 或者 ^ å—符å�Žé�¢ç´§è·Ÿä¸€ä¸ªæŒ‡å®šçš„宽度。比如:
>>> format(text, '>20')
' Hello World'
>>> format(text, '<20')
'Hello World '
>>> format(text, '^20')
' Hello World '
>>>
å¦‚æžœä½ æƒ³æŒ‡å®šä¸€ä¸ªé�žç©ºæ ¼çš„å¡«å……å—符,将它写到对é½�å—符的å‰�é�¢å�³å�¯ï¼š
>>> format(text, '=>20s')
'=========Hello World'
>>> format(text, '*^20s')
'****Hello World*****'
>>>
å½“æ ¼å¼�åŒ–å¤šä¸ªå€¼çš„æ—¶å€™ï¼Œè¿™äº›æ ¼å¼�代ç �也å�¯ä»¥è¢«ç”¨åœ¨ format() 方法ä¸ã€‚比如:
>>> '{:>10s} {:>10s}'.format('Hello', 'World')
' Hello World'
>>>
format() 函数的一个好处是它ä¸�仅适用于å—符串。它å�¯ä»¥ç”¨æ�¥æ ¼å¼�化任何值,使得它é�žå¸¸çš„通用。
æ¯”å¦‚ï¼Œä½ å�¯ä»¥ç”¨å®ƒæ�¥æ ¼å¼�化数å—:
>>> x = 1.2345
>>> format(x, '>10')
' 1.2345'
>>> format(x, '^10.2f')
' 1.23 '
>>>
讨论¶
在è€�的代ç �ä¸ï¼Œä½ ç»�常会看到被用æ�¥æ ¼å¼�化文本的 % æ“�作符。比如:
>>> '%-20s' % text
'Hello World '
>>> '%20s' % text
' Hello World'
>>>
但是,在新版本代ç �ä¸ï¼Œä½ 应该优先选择 format() 函数或者方法。
format() �比 % �作符的功能更为强大。
并且 format() 也比使用 ljust() , rjust() 或 center() 方法更通用,
å› ä¸ºå®ƒå�¯ä»¥ç”¨æ�¥æ ¼å¼�化任æ„�对象,而ä¸�仅仅是å—符串。
如果想�完全了解 format() 函数的有用特性,
请�考 在线Python文档