ЯдроКодаподготовка к экзаменам
Учебная платформа

Загружаем материалы

Подготавливаем материалы и навигацию по разделу.

f-строки в Python: удобный вывод переменных

Автор: · Обновлено

f-строка позволяет вставлять значения прямо в текст. Перед открывающей кавычкой ставится буква f, а выражения помещаются в фигурные скобки. Python вычисляет каждое выражение и преобразует результат в текст во время создания строки.

Сообщение без цепочки плюсов

name = 'Игорь'
score = 73
maximum = 100

print(f'{name} набрал {score} из {maximum}')
print(f'До максимума осталось {maximum - score}')

Результат запуска:

Игорь набрал 73 из 100
До максимума осталось 27

В первых скобках стоят переменные, во вторых — арифметическое выражение. Вычисление выполняется до формирования итогового текста. Такой код легче читать, чем несколько вызовов str и длинная цепочка конкатенаций.

Форматирование числа

После двоеточия внутри скобок задаётся формат. Например, f'{price:.2f}' показывает два знака после точки, а f'{part:.1%}' переводит долю 0.375 в строку 37.5%. Формат меняет представление, а не исходное значение переменной.

Если забыть букву f, текст '{name}' будет выведен буквально. Незакрытая фигурная скобка приведёт к SyntaxError. Двойные скобки {{ и }} нужны, когда сами фигурные скобки должны появиться в результате. Не помещайте внутрь сложную многострочную логику: предварительное вычисление в переменной обычно понятнее.

Квитанция для тренировки

Задайте название товара, цену и количество. Вычислите сумму и выведите одну строку вида Тетрадь: 3 × 45.50 = 136.50 руб.. Проверьте отдельно произведение и формат с двумя знаками. Затем измените количество на ноль и цену на дробное значение. Урок освоен, если вы можете показать, где вычисляется сумма и почему добавление формата не округляет сохранённую переменную навсегда.

Граница форматирования

Сформируйте отчёт для числа 1234.5678 в трёх видах: два знака после точки, поле шириной десять символов и число с разделителем тысяч. Сохраните каждую f-строку в отдельной переменной и докажите, что исходное число осталось прежним. Затем попробуйте вывести буквальные фигурные скобки вокруг результата. Намеренно уберите букву f и опишите разницу не словом «не работает», а точным полученным текстом. Завершите пример одной строкой для пользователя и отдельным числом для дальнейших вычислений: представление и данные не следует смешивать.

Практикум: отчёт с выравниванием и форматами

Создайте строку отчёта с именем, набранными баллами и процентом. Выведите процент с одним знаком, баллы в поле фиксированной ширины и отдельное сообщение о разнице до максимума. Проверьте короткое и длинное имя, нулевой и полный результат. Сравните f-строку с конкатенацией, где числа требуют ручного str. Не прячьте расчёт сложного правила внутрь шаблона: вычислите процент заранее и дайте переменной предметное имя.

Контрольная точка

Какая часть f-строки вычисляется как Python-выражение, а какая остаётся буквальным текстом? Найдите ошибку в строке с забытыми фигурными скобками и предскажите результат до запуска.

Частые вопросы

Можно ли использовать вычисления внутри f-строки?

Да, но короткие выражения читаются лучше. Если формула имеет предметный смысл или повторяется, вынесите её в именованную переменную. Так проще тестировать вычисление отдельно от оформления результата.

Источники