format(value, format_spec)
Внимание! Ссылка для тех, кто ищет метод форматирования строки str.format()
.
value
- форматируемое значение,format_spec
- спецификации формата 'Mini-Language'.Функция format()
преобразует переданное значение в отформатированную строку, в соответствии с спецификацией формата Mini-Language
, которое задается в необязательном аргументе format_spec
.
Интерпретация format_spec
будет зависеть от типа значения переданного функции аргумента. По умолчанию format_spec
пустая строка, которая обычно дает тот же эффект, что и вызов функции str(value)
.
Mini-Language
:<
- Левое выравнивание результата (в пределах доступного пространства);>
- Выравнивает результат по правому краю (в пределах доступного пространства);^
- Выравнивает результат по центру (в пределах доступного пространства);=
- Помещает результат в крайнее левое положение;+
- знак плюс;-
- знак минус только для отрицательных значений;,
- Использовать запятую в качестве разделителя тысяч;_
- Использовать символ подчеркивания в качестве разделителя тысяч;Точность:
.число
- количество цифр выводимых после фиксированной точки или количество символов в строке;
>>>format(1, 'f')
'1.000000'
>>>format(10, '.2f')
'10.00'
>>>format('format', '.2')
'fo'
Тип форматируемого объекта:
s
- строка, можно не указывать, используется по умолчанию;b
- двоичный формат;с
- преобразует целое число в символ Unicode;d
- десятичный формат;e
- научный формат, со строчной буквой e
;E
- научный формат, с E
верхним регистром;f
- формат чисел с плавающей запятой;F
- формат чисел с плавающей запятой, верхний регистр;g
- общий формат, нижний регистр;G
- общий формат, верхний регистр;o
- Восьмеричный формат;x
- шестнадцатеричный формат, нижний регистр;X
- шестнадцатеричный формат, верхний регистр;n
- формат целых чисел;%
- Процентный формат. Умножает число на 100 и использует f
для вывода. В конце ставится %
;#
- альтернативный вариант вывода указанного формата, работает с форматами b
, o
, x
.Общий вид инструкции format_spec
:заполнитель|выравнивание|знак|#|размер строки|разделитель десятков|.точность|тип
Пример: format(1000.5368, '~>+15,.2f')
, где '~>+15,.2f'
- формат Mini-Language
.
~
- заполнитель>
- выравнивание+
- знак15
- размер итоговой строки в символах,
- разделитель десятков.2
- точность, количество выводимых цифр после запятой f
- тип, Пример выведет отформатированную строку: '~~~~~~+1,000.54'
>>> format(5)
'5'
>>> format(5, '.1f')
'5.0'
>>> format(5, '*^10.2f')
'***5.00***'
>>> format(1000, '10,d')
' 1,000'
>>> format('Привет', '>10.3')
' При'
>>> format(1000, '#>+10,.2f')
' +1,000.00'
>>>format(1000.5368, '~>+15,.2f')
'~~~~~~+1,000.54'