Подтвердить что ты не робот

Фиксированное форматирование ширины python 3

Как получить целое число для заполнения 0 до фиксированной ширины в python 3.2 с использованием атрибута format? Пример:

a = 1
print('{0:3}'.format(a)} 

дает '1' вместо '001', я хочу. В python 2.x я знаю, что это можно сделать с помощью

print "%03d" % number. 

Я проверил документацию на строку python 3, но не смог ее получить.

http://docs.python.org/release/3.2/library/string.html#format-specification-mini-language

Спасибо.

4b9b3361

Ответ 1

Префикс ширины с помощью 0:

>>> '{0:03}'.format(1)
'001'

Кроме того, вам не нужен маркер места в последних версиях Python (не уверенный, который, по крайней мере, 2.7 и 3.1):

>>> '{:03}'.format(1)
'001'

Ответ 2

Для заполнения 0-х есть встроенный строковый метод .zfill:

>>> str(42).zfill(5)
'00042'
>>> str(42).zfill(2)
'42'