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?
解决方案
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.