在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()组合使用非常有用, 该函数返回一个包含所有局部变量的字典.
posted on 2009-06-03 21:08
周锐 阅读(502)
评论(0) 编辑 收藏 所属分类:
Python