Форматирование строк - объединение нескольких форм - PullRequest
0 голосов
/ 02 января 2019

Я прочитал документы о форматировании строк мини-язык и обнаружил несколько интересных функций:

целочисленные представления:

'{0:X}'.format(16) # output is '10'

заполнение нулями:

'{0:03X}'.format(16) # output is '010'

и альтернативные формы:

'{0:#X}'.format(16) # output is '0X10'

Мой вопрос - есть ли способ объединить все 3 в одну команду?Например:

'{0:#03X}'.format(16) # output is '0x10', desired output is '0x010'

Заранее спасибо!

1 Ответ

0 голосов
/ 02 января 2019

Вам необходимо указать еще несколько цифр:

print('{0:#05x}'.format(16))

Вывод:

0x010

Вам нужно 5, а не 3, потому что 0x также учитывается при заполнении вывода.


Кроме того, вы всегда можете взломать свое выходное соединение с конкатенацией или zfill():

print('0x'+'{0:03x}'.format(16) )
print('0x'+ '{:x}'.format(16).zfill(3))
...