问题
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