%d在输出中表示十进制整数,用法很简单,不再举例说明。下面主要说明一些关于%d的变形:
1.%10d
%10d代表输出宽度为10个字符,如果输出的字符串不超过10,则在左边补空格;宽度超过10,按原长度输出。例如:
num = 12345
print("123456789ABCDEFGHI")
print("%10d" %num) #“12345”不够10个字符,所以左边补5个空格
2.%-10d
和上面的%10d相反,如果输出的数字宽度不超过10,则在右边补齐空格;宽度超过10,按原长度输出。例如:
num = 12345
print("123456789ABCDEFGHI")
print("%-10d" %num + "aaaaa") #长度未超过10,右边补齐
print("%-3d" %snum + "aaaaa")#长度超过3,原样输出
3.%010d
%10d表示输出的数字为10位,不足10位时左侧补0;超过10位时原样输出。例如:
num = 12345
print("123456789ABCDEFGHI")
print("%010d" %num ) #长度未超过10,左边补0
print("%03d" %num )#长度超过3,原样输出
4.%.10d
效果和3中的“%010d”实际上没什么区别。还有“%.010d”、"%.0010d"等等类似的形式效果都是相同的,即输出的数字不足10位
时左侧补0,超过10位原样输出。例如:
num = 12345
print("123456789ABCDEFGHI")
print("%010d" %num ) #长度未超过10,左边补0
print("%.10d" %num) #效果同上
print("%.010d" %num) #效果同上
print("%.0010d" %num) #效果同上
5.%5.3d
结果%7.2表示数字位数小于2时,先在左边补0,若补0后小于7,则在左边补空格。即先补0,再补空格。总之就是补0优先,
最终长度为那个大的数字,故%7.2最终长度是7。例如:
num = 123
print("123456789ABCDEFGHI")
print("%7.5d" %num ) #123不够5位,先补2个0,还是不够7位,左侧补2个空格
print("%5.2d" %num) #123超过2位,不补0,直接在左侧补3个空格
print("%2.3d" %num) #123刚好3位,不补0,超过2位,不补空格,原样输出
其余的表示方式不是很常用,不再赘述了。