占位符

     占位符,顾名思义就是插在输出里站位的符号。我们可以把它理解成我们预定饭店。当我们告诉饭店的时候,饭店的系统里会有我们的预定位置。虽然我们现在没有去但是后来的顾客就排在我们后面。

s : 获取传入对象的__str__方法的返回值,并将其格式化到指定位置
r : 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
c : 整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置
o : 将整数转换成 八  进制表示,并将其格式化到指定位置
x : 将整数转换成十六进制表示,并将其格式化到指定位置
d : 将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
e : 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
E : 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)
f :  将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)

二、常用占位符应用举例 
1、格式化字符串

print ("This website name is %s" % ("test.com"))
>This website name is test.com

2、格式化整数

 print ("The rank score is %d" % (100.0))
>The rank score is 100

3、格式化浮点数

print ("tom's height is %f m"%(2.29))
tom's height is 2.290000 m

4、格式化浮点数(指定保留小数点位数)

print ("tom's height is %.1f m"%(2.29))
tom's height is 2.3 m

5、指定占位符宽度

print ("Name : %10s, Age : %9d, Height: %8.2f"%("tom", 37, 2.29))
Name :   tom, Age :        37, Height :     2.29

6、指定占位符宽度 - 左对齐

 print ("Name : %-10s, Age : %-9d, Height : %-8.2f"%("tom", 37, 2.29))
Name : tom  , Age : 37       , Height : 2.29    


备注:格式化可选标志符, 可选参数
+       右对齐;正数前加正好,负数前加负号;
-       左对齐;正数前无符号,负数前加负号;
空格     右对齐;正数前加空格,负数前加负号;
0       右对齐;正数前无符号,负数前加负号;用0填充空白处

如: -10s, 表示10个字符串位置, 左对齐,后面用空格填充

7、指定占位符 - 用0当占位符

 print ("Name : %-10s, Age : %09d, Height : %08.2f"%("tom", 37, 2.29))
Name : tom  , Age : 000000037, Height : 00002.29

的妙用:进度条显示

import time
for i in range(0,101,2):
     time.sleep(0.1)
     char_num = i//2      #打印多少个'*'
     per_str = '
[%s%% : %s]
' % (i, '#' * char_num) if i == 100 else '
[%s%% : %-50s]'%(i,'#'*char_num,)
     print(per_str,end='', flush=True)
[100% : ##################################################]
原文地址:https://www.cnblogs.com/z18271397173/p/9544710.html