ljust, rjust, center, zfill和%

ljust, rjust, center, zfill和%
 在Python中打印字符串时可以调用ljust(左对齐),rjust(右对齐),center(中间对齐)来输出整齐美观的字符串,
>>> for x in range(1, 11):
... print repr(x).rjust(2), repr(x*x).rjust(3),
... # Note trailing comma on previous line
... print repr(x*x*x).rjust(4)
...
 1    1       1
 2    4       8
 3    9     27
 4   16     64
 5   25   125
 6   36   216
 7   49   343
 8   64   512
 9   81   729
10 100 1000

当然你也可以使用%来处理输出结果
>>> for x in range(1,11):
... print ’%2d %3d %4d’ % (x, x*x, x*x*x)
...
 1    1       1
 2    4       8
 3    9     27
 4   16     64
 5   25   125
 6   36   216
 7   49   343
 8   64   512
 9   81   729
10 100 1000
zfill()则用于向数值的字符串表达式左侧填充0, 该函数可以正确理解正负号:
>>> '12'.zfill(5)
'00012’
>>> '-3.14'.zfill(7)
'-003.14'
>>> '3.14159265359'.zfill(5)
'3.14159265359'

如果有超过一个的字符串需要格式化为一体, 就需要将它们传入一个元组作为右值, 如:
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
>>> for name, phone in table.items():
... print '%-10s ==> %10d'  %  (name, phone)
...
Jack       ==>       4098
Dcab      ==>       7678
Sjoerd    ==>       4127

当然还有一个更好用的就是格式化时候使用变量名:
>>>table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
>>>print 'Jack: %(Jack)d; Sjoerd: %(Sjoerd)d; Dcab: %(Dcab)d' % table
Jack: 4098; Sjoerd: 4127; Dcab: 8637678
该技巧在与内置函数vars()组合使用非常有用, 该函数返回一个包含所有局部变量的字典.

你可能感兴趣的:(ljust, rjust, center, zfill和%)