Ответ 1
>>> "{0:0>3}".format(1)
'001'
>>> "{0:0>3}".format(10)
'010'
>>> "{0:0>3}".format(100)
'100'
Пояснение:
{0 : 0 > 3}
│ │ │ │
│ │ │ └─ Width of 3
│ │ └─ Align Right
│ └─ Fill with '0'
└─ Element index
Можете ли вы отобразить целочисленное значение с ведущими нулями с помощью функции str.format
?
Пример ввода:
"{0:some_format_specifying_width_3}".format(1)
"{0:some_format_specifying_width_3}".format(10)
"{0:some_format_specifying_width_3}".format(100)
Желаемый вывод:
"001"
"010"
"100"
Я знаю, что оба zfill
и %
основанного форматирования (например, '%03d' % 5
) могут выполнить это. Однако я хотел бы, чтобы решение, использующее str.format
, чтобы мой код был чистым и последовательным (я также форматировал строку с атрибутами datetime), а также расширял свои знания Спецификация формата Mini-Language.
>>> "{0:0>3}".format(1)
'001'
>>> "{0:0>3}".format(10)
'010'
>>> "{0:0>3}".format(100)
'100'
Пояснение:
{0 : 0 > 3}
│ │ │ │
│ │ │ └─ Width of 3
│ │ └─ Align Right
│ └─ Fill with '0'
└─ Element index
Получено из Примеры формата, Примеры вложения в документах Python:
>>> '{0:0{width}}'.format(5, width=3)
'005'