Ох уж эти длинные строки — так и норовят выбиться из стройных рядов питоновского кода, нарушив его читаемость! Чтобы не пасть жертвой горизонтального скроллинга, предлагаю протестировать 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-строки.