what does {:02d} mean in Python

旧城冷巷雨未停 提交于 2020-06-09 18:08:39

问题


it's very hard to find information about {:} online I saw some code below:

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

I kinda of know it is filling leading 0 in the format, but I don't know what do '02' and 'd' in {:02d} do?


回答1:


You are looking for the str.format() documentation. Specifically, the 02d part is documented in the Format Specification Mini-Language.

02d formats an integer (d) to a field of minimum width 2 (2), with zero-padding on the left (leading 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'

From the documentation:

format_spec ::=  [[fill]align][sign][#][0][width][,][.precision][type]

[...]

width is a decimal integer defining the minimum field width.

When no explicit alignment is given, preceding the width field by a zero ('0') character enables sign-aware zero-padding for numeric types. This is equivalent to a fill character of '0' with an alignment type of '='.

[...]

Finally, the type determines how the data should be presented. [...] The available integer presentation types are:

[...]

'd'
Decimal Integer. Outputs the number in base 10.



来源:https://stackoverflow.com/questions/36543804/what-does-02d-mean-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!