先看案例
例1:
num = 1
print("%d" % num)
print("%2d" % num)
print("%02d" % num)
print("%-2d" % num)
print("%.2d" % num)
print("%.2d" % 200)
输出
1
1 # 有空格
01
1
01
200
例2:
from datetime import *
time = datetime.strptime("03/02/21 16:30", "%d/%m/%y %H:%M")
print("Time1 = {:d}:{:02d}".format(time.hour, time.minute))
print("Time2 = %s:%s" % (time.hour, time.minute))
输出
Time1 = 16:30
Time2 = 16:30
我看到下面的代码:
def dateformat(date):
day, month, year=date.split('/')
return "{:4d}{:02d}{:02d}".format(int(year),int(month),int(day))
‘02’ 中的 ‘d’ 和 {:02d} 做什么?
最佳答案
“{:02d}”.format(i) # 表示将i变为两位十进制数字的字符串,不够两位用0填充。
%d就是普通的输出了整形数
%2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。
%02d,和%2d差不多,只不过左边补0
%-2d将数字按宽度为2,采用左对齐方式输出,若数据位数不到2位,则右边补空格
%.2d 输出整形时最少输出2位,如不够前面以0占位。如输出2时变成02,200时只输出200;输出浮点型时(%.2f)小数点后强制2位输出
参考链接
[1] python - {:02d}在Python中是什么意思 2022.6
[2] python中%d %2d %02d %-2d% %.2d的区别 2022.6