Термин · Python
f-строки
Также: f-строка, f-строки, ф-строка, ф-строки, f строка, ф строка, fstring, f-стринг, f-стринги, f-string, f-strings, f string, f strings, formatted strings, форматированная строка, форматированные строки, форматирующая строка, форматирующие строки
Коротко
F-строки (formatted string literals) — механизм форматирования строк в Python, позволяющий встраивать выражения и переменные непосредственно в строку с помощью префикса f и фигурных скобок {}.
name = "Иван"
age = 25print(f"Меня зовут {name}, мне {age} лет.") # Меня зовут Иван, мне 25 лет.Базовый синтаксис
f"Текст {выражение}"f'Текст {выражение}'
f"""Многострочный текст {выражение}"""Вставка переменных и выражений
name = "Иван"
a, b = 10, 5
f"Привет, {name}!"
f"Сумма: {a + b}"
f"Результат: {a / b:.2f}"Форматирование чисел
| Спецификатор | Результат | Описание |
|---|---|---|
:.2f | 12.35 | Два знака после запятой |
:.0f | 12 | Без дробной части |
:, | 1,000,000 | Разделитель тысяч |
:_ | 1000000 | Подчёркивание как разделитель |
:% | 25.00% | Проценты |
:b | 1010 | Двоичная система |
:o | 12 | Восьмеричная система |
:x | ff | Шестнадцатеричная система |
price = 1234.567
f"Цена: {price:.2f}" # Цена: 1234.57
f"Цена: {price:,.2f}" # Цена: 1,234.57Выравнивание и заполнение
| Спецификатор | Описание |
|---|---|
:<10 | Выравнивание по левому краю |
:>10 | Выравнивание по правому краю |
:^10 | Выравнивание по центру |
:0>5 | Заполнение нулями слева |
:*^10 | Заполнение * с выравниванием по центру |
f"{'Python':<10}" # 'Python '
f"{'Python':>10}" # ' Python'
f"{'Python':^10}" # ' Python '
f"{42:05}" # '00042'Преобразование значений
| Суффикс | Описание |
|---|---|
!s | Преобразование через str() |
!r | Преобразование через repr() |
!a | Преобразование через ascii() |
name = "Иван\n"
f"{name!s}" # Обычное строковое представление
f"{name!r}" # 'Иван\n'
f"{name!a}" # ASCII-представлениеОтладочный вывод через =
Позволяет вывести название выражения вместе с его значением.
x = 42
f"{x=}" # x=42
f"{x + 1=}" # x + 1=43
f"{x=:05}" # x=00042Фигурные скобки в тексте
Чтобы вывести фигурные скобки как обычные символы, удвойте их:
f"{{Текст}}" # {Текст}
f"{{{42}}}" # {42}Форматирование дат
from datetime import datetime
now = datetime.now()
f"{now:%d.%m.%Y}" # 18.10.2026
f"{now:%H:%M:%S}" # 21:50:00
f"{now:%d.%m.%Y %H:%M}" # Дата и времяФормат даты и времени определяется спецификаторами strftime.
Вложенные выражения форматирования
precision = 3
value = 3.14159265
f"{value:.{precision}f}" # 3.142Многострочные f-строки
name = "Иван"
age = 25
message = f"""
Имя: {name}
Возраст: {age}
"""Raw f-строки
Префикс r отключает обработку большинства escape-последовательностей в обычном тексте строки.
path = r"C:\Users\Ivan"
f"Путь: {path}"
rf"C:\Users\{name}"Вызовы функций и методов
name = "иван"
f"{name.upper()}" # ИВАН
f"{len(name)}" # 4
f"{name.title()}" # ИванВажные особенности
- Выражения внутри
{}вычисляются при выполнении f-строки. - F-строки возвращают объект
str, но сами по себе не выполняют вывод на экран. - Для форматирования можно использовать практически любые выражения Python, включая вызовы функций и обращения к атрибутам.
- Начиная с Python 3.12, синтаксис f-строк стал гибче: в выражениях разрешены, в частности, повторное использование кавычек строки и обратные слеши в допустимых контекстах.
- F-строки не предназначены для безопасной подстановки пользовательских значений в SQL-запросы: для SQL следует использовать параметры запросов.
Тренажёр запоминания
Проверьте себя
1 вопросВопрос: Что выведет выражение f"Сумма: {2 + 3}"?
Войдите, чтобы проверить ответ и получить XP.
Ревизия 4 · обновлено 20.10.2026