Python добавляет ведущие нули, используя str.format

Можете ли вы отобразить целочисленное значение с ведущими нулями с помощью функции 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.

Ответ 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