{:02d}在Python中意味着什么

lxd*_*ler 2 python string format

很难找到有关{:}在线的信息我在下面看到了一些代码:

def dateformat(date):
    day, month, year=date.split('/')
    return "{:4d}{:02d}{:02d}".format(int(year),int(month),int(day))
Run Code Online (Sandbox Code Playgroud)

我有点知道它正在0以格式填充领先,但我不知道做什么'02'和'd'在{:02d}做什么?

Mar*_*ers 10

您正在寻找str.format()文档.具体来说,该02d部分记录在格式规范迷你语言中.

02d将integer(d)格式化为最小宽度为2(2)的字段,左侧为零填充(前导0):

>>> 'No digits: {:02d}, 1 digit: {:02d}, 2: {:02d}, 3: {:02d}'.format(0, 7, 42, 151)
'No digits: 00, 1 digit: 07, 2: 42, 3: 151'
Run Code Online (Sandbox Code Playgroud)

从文档:

format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]
Run Code Online (Sandbox Code Playgroud)

[...]

width是定义最小字段宽度的十进制整数.

如果没有给出明确的对齐,则在width('0')字符前面的width字段可以为数字类型启用符号识别的零填充.这相当于'0'对齐类型为的填充字符'='.

[...]

最后,类型决定了数据的呈现方式.[...]可用的整数表示类型是:

[...]

'd'
十进制整数.输出基数为10的数字.