格式化输出
% 格式化运算符
1. 打印字符串
>>> a='AAAA'
>>> b='BBBB'
>>> print('a=%s b=%s' %(a,b));
a=AAAA b=BBBB
2. 打印整数
>>> a=10
>>> b=20
>>> print('a=%d b=%d' %(a,b));
a=10 b=20
3. 打印浮点数
>>> a=1.1234
>>> b=3.14159;
>>> print('a=%d b=%d' %(a,b));
a=1 b=3
>>> print('a=%f b=%f' %(a,b));
a=1.123400 b=3.141590
4. 打印浮点数(指定保留小数点位数)
>>> a=1.1234
>>> b=3.14159;
>>> print('a=%.2f b=%.3f' %(a,b));
a=1.12 b=3.142
%f里指定保留小数位数时具有自动四舍五入的功能,比如b=3.14159 使用%.3f格式化之后输出的结果变成了b=3.142
5. 指定占位符宽度
>>> a='ABC'
>>> b='DEFF'
>>> print('a=%4s b=%6s' %(a,b));
a= ABC b= DEFF
>>>
还可以指定特定的占位符
>>> a='ABC'
>>> b='DEFF'
>>> d=125
>>> print('a=%4s b=%6s d=%04d' %(a,b,d));
a= ABC b= DEFF d=0125
指定输出d使用4个字符宽度,如果不够在前面补零,输出字符串时,默认右对齐,其实可以调整的
6.指定占位符宽度,指定对其方式
>>> a='ABC'
>>> b='DEFF'
>>> d=125
>>> print('a=%-4s b=%-6s d=%-06d' %(a,b,d));
a=ABC b=DEFF d=125
可以看到在格式字符里面加了减号字符之后,输出的内容变成了左对齐。最后的125后面其实有3个空格字符
其实还可以在运行时动态指定浮点数的精度
python的神奇之处在于它又提供了一种非常方便的语法。只需要在 typecode(这里是f)之前加一个 *,浮点数的精度就用它前面的数字来指定
来个DEOM看看
>>> for i in range(10):
print('%.*f' %(i,3.14159265358249));
3