很难在网上找到关于{:}的信息
我看到下面的代码:

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

我知道它在格式中填充了leading0,但我不知道'02'中的'd'{:02d}做什么?

最佳答案

您正在查找str.format() documentation。具体而言,02d部分记录在Format Specification Mini-Language中。
02d将整数(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'

从文档中:
format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]

[...]
宽度是定义最小字段宽度的十进制整数。
如果未指定显式对齐方式,则在宽度字段前面加上零('0')字符可启用数字类型的符号感知零填充。这相当于对齐类型为'0'的填充字符'='
[...]
最后,类型决定了数据应该如何显示。[…]
可用的整数表示类型有:
[...]
'd'
十进制整数。输出基数为10的数字。

关于python - {:02d}在Python中是什么意思,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36543804/

10-16 21:03