2022年 11月 7日

python中%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中还有其他的格式化字符串的方式,但%操作符的使用是最方便的。