🔖 Справочник по форматированию строк

⚡ Краткий справочник

  • "%s %d" % (val, num) — C-style форматирование.
  • "{} {}".format(a, b) — метод format().
  • f"{a} {b}" — f-strings.
  • {x:.2f} — два знака после запятой.
  • {x:,} — разделители тысяч.
  • {x:>10} — выравнивание по правому краю, ширина 10.
  • {x:0>5} — заполнение нулями.
  • s.ljust(w, fill), s.rjust(w, fill), s.center(w, fill) — методы выравнивания.

C-style спецификаторы

СпецификаторОписаниеПримерРезультат
%sСтрока/объект"%s" % 42"42"
%dЦелое число"%d" % 42"42"
%fFloat"%f" % 3.14"3.140000"
%.2fFloat с 2 знаками"%.2f" % 3.14159"3.14"
%10sСтрока шириной 10"%10s" % "hi"" hi"

Синтаксис str.format()

ЗаписьОписаниеПримерРезультат
"{} {}".format(a, b)По порядку"{} {}".format("A", 1)"A 1"
"{0} {1}".format(a, b)По индексу"{1} {0}".format("A", 1)"1 A"
"{name}".format(name=x)По имени"{name}".format(name="Bob")"Bob"
"{:.2f}".format(x)Округление"{:.2f}".format(3.14159)"3.14"
"{:,}".format(x)Разделители"{:,}".format(1234567)"1,234,567"
"{:>10}".format(x)По правому краю"{:>10}".format("hi")" hi"

Синтаксис f-strings

ЗаписьОписаниеПримерРезультат
f"{x}"Вставка переменнойx = 5; f"{x}""5"
f"{x + y}"Вставка выраженияf"{2 + 3}""5"
f"{x:.2f}"Округлениеx=3.14159"3.14"
f"{x:,}"Разделителиx=1234567"1,234,567"
f"{x:>10}"Выравниваниеx="hi"" hi"
f"{x=}"Отладочный выводx=5; f"{x=}""x=5"

Мини-язык форматирования чисел

СпецификаторОписаниеПримерРезультат
:.nfn знаков после запятойf"{3.14159:.2f}""3.14"
:,Разделитель тысячf"{1234567:,}""1,234,567"
:.n%Проценты с n знакамиf"{0.1234:.1%}""12.3%"
:0>wШирина w, заполнение нулями, правое выравниваниеf"{7:0>5}""00007"
:_^wШирина w, заполнение _, центрированиеf"{'hi':_^6}""__hi__"

Методы выравнивания строк

МетодОписаниеПримерРезультат
s.ljust(width, fillchar=' ')По левому краю"hi".ljust(5, '-')"hi---"
s.rjust(width, fillchar=' ')По правому краю"hi".rjust(5, '-')"---hi"
s.center(width, fillchar=' ')По центру"hi".center(5, '-')"-hi--"
Проверить по документации: спецификаторы = для выравнивания знака числа, b/x/o для систем счисления и отладочный {x=} выходят за рамки исходного занятия, но являются частью стандартного мини-языка форматирования Python.