Как перенести f-строки

Как оформить перенос f-строки в Python?

Ох уж эти длинные строки — так и норовят выбиться из стройных рядов питоновского кода, нарушив его читаемость! Чтобы не пасть жертвой горизонтального скроллинга, предлагаю протестировать 2 весьма удобных и простых способа оформления многострочных f-строк:

  • Способ №1: с использованием скобок
  • Способ №2: посредством символа переноса — обратного слеша «\»

Кстати, согласно PEP-8, строки питоновского кода не должны быть длиннее 79 символов!
*PEP-8 — это официальный документ с рекомендациями по оформлению кода на Python

Способ №1: Заключаем f-строки в скобки

Для оформления многострочных f-строк этим способом, достаточно заключить группу f-строк в круглые скобки:

name = "Число Гэма"
symbol = "G63"

fact = (f"{name} самое большое. "
        f"Оно обозначается {symbol}.")

print(fact)

Вывод на экран:

Число Гэма самое большое. Оно обозначается G63.

! Обратите внимание, что каждая подстрока заключена в кавычки и предварена символом ‘f’. То есть речь идет именно о группе f-строк, которые нужно визуально отделить друг от друга с помощью переносов.

Способ №2: Используем для переноса символ обратного слеша «\»

Здесь все просто: для переноса текста на новую строку ставим символ обратного слеша «\» и радуемся результату! В данном случае дополнительно заключать подстроки в кавычки и ставить символы «f» не нужно. Этот вариант уместен в случае длинного предложения или текста, который не удобно разбивать на отдельные f-строки:

name = "Число Гэма"
symbol = "G63"

fact = f"{name} значительно превосходит число гугол \
и считается самым большим. Оно обозначается как {symbol}. "

print(fact)

Вывод на экран:

Число Гэма значительно превосходит число гугол и считается самым большим. Оно обозначается как G63.

Интересный факт: в f-строках перед открывающими кавычками символ «f», то есть строчную букву f можно заменить заглавной F. Таким образом, f-строка F'Текст {info}' также успешно будет выведена на экран, как и строка f'Текст {info}'

Какой из предложенных вариантов выбрать?

Официальная документация по оформлению кода PEP-8 гласит о том, что вариант с использованием скобок предпочтительнее для переноса строк. С другой строны, как отмечено в PEP-8, вариант с использованием слеша может быть удобнее в ряде случаев. Поэтому, друзья-программисты, будем ориентироваться по-ситуации!

На мой субъективный взгляд, вариант с круглыми скобками больше подходит для группы предложений, каждое из которых легко оформить в f-строку. А вариант со слешем кажется более уместным, если f-строка представляет собой одно длинное предложение, которое не удобно разбивать на отдельные f-строки.


У нас появился Telegram-канал для изучающих Python! Присоединяйтесь: вместе «питонить» веселее! 😉 Ссылка на канал: «Кодим на Python!»

Добавить комментарий