在Python中,通过使用%,实现格式化字符串的目的。(这与c语言一致)
其中,在格式化整数和浮点数时可以指定是否补0和整数与小数的位数。
首先,引入一个场宽的概念。在C语言中场宽代表格式化输出字符的宽度。
例如:可以在"%"和字母之间插进数字表示最大场宽。
1)%3d 表示输出3位整型数,不够3位右对齐;
2)%9.2f 表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。 (注意:小数点前的数字必须大于小数点后的数字。小数点前的数值规定了打印的数字的总宽度。如果忽略了(如:.2f),则意味着总宽度无限制。);
3)%02d表示输出2位整型数,不够2位左对齐补0;
4)%-*s 代表输入一个字符串,-号代表左对齐、后补空白,*号代表对齐宽度由输入时确定;
5)%*s 代表输入一个字符串,右对齐、前补空白,*号代表对齐宽度由输入时确定;
6)%.*s 代表输入一个字符串,*号代表对齐宽度由输入时确定,.号代表以*号为最终实际显示出来的长度,但不会超出s的实际内容。
1.%d的输出结果:
for i in range(5):
print('%d'%i)
0
1
2
3
4
2.%3d的输出结果:(场宽为3,右对齐)
for i in range(96,103):
print('%3d'%i)
96
97
98
99
100
101
3.%9.2f
for i in [2.3011,2.5689,5.3264,4.5879,5.1236]:
print('%6.2f'%i)
2.30
2.57
5.33
4.59
5.12
4.%02d的输出结果:(补0)
for i in range(0,5):
print('%02d' %i)
00
01
02
03
04
5.%-*s的输出结果:
s=print('[%-*s]'%(20, "abce"))
s
[abce ]
右边补空格。
6.%*s的输出结果:
print('[%*s]'%(20, "abce"))
[ abce]
7.%.*s的输出结果:
print('[%.*s]'%(20, "abce"))
[abce]