← Все вопросы
Что такое f-строки и чем они лучше старого форматирования через % или .format()?
0
Напишите пример с f-строкой. Объясните, как вставлять в нее переменные и как выполнять вычисления прямо внутри фигурных скобок.
1 ответ
2
f-строка — это строка с префиксом f, в которую прямо в фигурных скобках вставляются переменные и любые выражения:
name, score = 'Ника', 87
print(f'{name} набрала {score} баллов') # переменные
print(f'до сотни не хватило {100 - score}') # вычисление на месте
print(f'средний за три теста: {score / 3:.2f}') # формат: два знака после точки
print(f'{score=}') # отладка: напечатает score=87
После двоеточия идёт формат: :.2f — знаки после запятой, :>10 — выравнивание по ширине, :, — разделители тысяч.
Чем лучше старых способов: подстановка видна на месте, а не через позицию в списке аргументов. В '%s набрал %d' % (name, score) легко перепутать порядок или тип, .format() многословный. f-строки короче, быстрее и читаются без прыжков глазами. Единственное место, где %-стиль до сих пор уместен — логирование: log.info('user %s', user_id), там подстановку откладывает сам логгер.
Ваш ответ
, чтобы ответить на вопрос.