str.format()
Метод format() выполняет операцию форматирования строки: возвращает копию исходной строки, в которой поля замены {} заменены на переданные значения. Это более гибкая альтернатива оператору %, а также основа синтаксиса f-строк.
Сигнатура
str.format(*args, **kwargs)
Параметры
*args— позиционные аргументы. Подставляются в поля{}или{0},{1}, …**kwargs— именованные аргументы. Подставляются в поля вида{name}.
Поля замены могут содержать «спецификатор формата» после двоеточия, например {:>10}, {:.2f}, {:08d}.
Возвращаемое значение
Новая строка (str) с подставленными значениями.
Примеры использования
Пример 1. Позиционная подстановка.
name = "AlashEd"
year = 2026
s = "Проект {} запущен в {}".format(name, year)
print(s)
Проект AlashEd запущен в 2026
Пример 2. Именованные параметры.
s = "Плата: {board}, частота: {mhz} МГц".format(board="ESP32", mhz=240)
print(s)
Плата: ESP32, частота: 240 МГц
Пример 3. Спецификаторы формата — числа и выравнивание.
pi = 3.14159265
print("Pi = {:.2f}".format(pi))
print("ID = {:05d}".format(42))
print("[{:>10}]".format("Arduino"))
print("[{:<10}]".format("Arduino"))
Pi = 3.14
ID = 00042
[ Arduino]
[Arduino ]
Пример 4. Edge case — недостаточно аргументов.
try:
"{} и {}".format("Arduino")
except IndexError as e:
print(f"Ошибка: {e}")
Ошибка: Replacement index 1 out of range for positional args tuple
Пример 5. Практическое применение — построение таблицы.
boards = [("Arduino UNO", 16), ("ESP32", 240), ("STM32F4", 168)]
print("{:<12} {:>5}".format("Плата", "МГц"))
for name, mhz in boards:
print("{:<12} {:>5}".format(name, mhz))
Плата МГц
Arduino UNO 16
ESP32 240
STM32F4 168
См. также
str.join() — объединение строк через разделитель
str.replace() — замена подстроки
Совет
В современном Python (3.6+) для большинства случаев удобнее использовать f-строки: f"Привет, {name}!" — синтаксис тот же, что и у format(), но без явного вызова метода.
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.