Как задать выравнивание в f-строке?

Выравнивание в f-строках задается с помощью символа : после имени переменной, за которым следует символ выравнивания и ширина поля.

Примеры:

  • <: Выравнивание по левому краю. f'{x:<10}'
  • >: Выравнивание по правому краю. f'{x:>10}'
  • ^: Выравнивание по центру. f'{x:^10}'
  • =: Выравнивание знака (только для чисел). f'{x:=+10}'
  • [символ]: Можно указать символ для заполнения пространства. f'{x:_^10}' (заполняется '_')

Для задания выравнивания в f-строке используются символы < (выравнивание влево), > (выравнивание вправо) и ^ (выравнивание по центру) в формате спецификации, помещенной в фигурные скобки после переменной.

Общий формат: f"{переменная:[символ_заполнитель][выравнивание][ширина]}"

  • переменная: Переменная, которую нужно отформатировать.
  • символ_заполнитель (необязательно): Символ, которым будет заполняться пространство, если ширина больше, чем длина переменной. По умолчанию используется пробел.
  • выравнивание:
    • <: Выравнивание влево.
    • >: Выравнивание вправо.
    • ^: Выравнивание по центру.
  • ширина: Общая ширина поля. Если строка короче ширины, она будет дополнена символами-заполнителями. Если строка длиннее ширины, она будет отображена целиком.

Примеры:

Выравнивание вправо с шириной 10 и заполнением пробелами:

name = "Alice"
print(f"{name:>10}")  # Output: "     Alice"

Выравнивание влево с шириной 10 и заполнением точками:

name = "Alice"
print(f"{name:<.10}")  # Output: "Alice....."

Выравнивание по центру с шириной 10 и заполнением звездочками:

name = "Alice"
print(f"{name:*^10}")  # Output: "**Alice***"

Выравнивание чисел:

number = 42
print(f"{number:>5}")   # Выравнивание вправо, ширина 5 (Output: "   42")
print(f"{number:0>5}")  # Выравнивание вправо, ширина 5, заполнение нулями (Output: "00042")
print(f"{number:<5}")   # Выравнивание влево, ширина 5 (Output: "42   ")

Важно: Ширина должна быть целым числом.

0