pythn print格式化输出---------"%s 和 % d" 都是什么意思?
pythn print格式化输出。
%r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符
号则是用来向用户显示输出的。
1. 打印字符串
print ("his name is %s"%("aviad"))
效果:
2.打印整数
print ("he is %d years old"%(25))
效果:
3.打印浮点数
print ("his height is %f m"%(1.83))
效果:
4.打印浮点数(指定保留小数点位数)
print ("his height is %.2f m"%(1.83))
效果:
5.指定占位符宽度
print ("name:%10s age:%8d height:%8.2f"%("aviad",25,1.83))
效果:
6.指定占位符宽度(左对齐)
print ("name:%-10s age:%-8d height:%-8.2f"%("aviad",25,1.83))
效果:
7.指定占位符(只能用0当占位符?)
print ("name:%-10s age:%08d height:%08.2f"%("aviad",25,1.83))
效果:
8.科学计数法
format(0.0015,'.2e')
效果:
我们还可以用词典来传递真实值。如下:
print ("i'm %(c)s. i have %(l)d yuan." % {'c':'hungry','l':22})
调试输出:
i'm hungry. i have 22 yuan.
格式符
格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%e 指数 (基底写为e)
%f 浮点数
%f 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%g 指数(e)或浮点数 (根据显示长度)
%% 字符"%"
可以用如下的方式,对格式进行进一步的控制:
%[(name)][flags][width].[precision]typecode
(name)为命名
flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。
width表示显示宽度
precision表示小数点后精度
比如:
print("%+10x" % 10)
print("%04d" % 5)
print("%6.3f" % 2.3)
上面的width, precision为两个整数。我们可以利用*,来动态代入这两个量。比如:
print("%.*f" % (4, 1.2))
python实际上用4来替换*。所以实际的模板为"%.4f"。
总结
python中内置的%操作符可用于格式化字符串操作,控制字符串的呈现格式。python中还有其他的格式化字符串的方式,但%操作符的使用是最方便的。