Это начало. Это неплохая практика - определять ваши более длинные строки вне кода, который их использует. Это способ отделить данные и поведение. Ваш первый вариант - неявно соединять строковые литералы, делая их смежными:
("This is the first line of my text, "
"which will be joined to a second.")
Или с продолжением конца строки, которое немного более хрупко, так как это работает:
"This is the first line of my text, " \
"which will be joined to a second."
Но это не так:
"This is the first line of my text, " \
"which will be joined to a second."
Видишь разницу? Нет? Ну, вы не будете, когда это ваш код тоже.
Недостатком неявного объединения является то, что оно работает только со строковыми литералами, а не со строками, взятыми из
переменные, поэтому вещи могут стать немного более волосатым, когда вы рефакторинг. Кроме того, вы можете интерполировать только форматирование объединенной строки в целом.
Кроме того, вы можете присоединиться явно, используя оператор конкатенации (+
):
("This is the first line of my text, " +
"which will be joined to a second.")
Явное лучше, чем неявное, как говорит дзен Python, но это создает три строки вместо одной и использует вдвое больше памяти: есть две написанные вами, плюс одна, которая является двумя, соединенными вместе так что вы должны знать, когда игнорировать дзен. Плюс вы можете применить форматирование к
любая из подстрок отдельно в каждой строке или для всей партии вне скобок.
Наконец, вы можете использовать строки в тройных кавычках:
"""This is the first line of my text
which will be joined to a second."""
Это часто мой любимый, хотя его поведение немного отличается, так как перевод строки и любые пробелы в последующих строках будут отображаться в вашей последней строке. Вы можете устранить символ новой строки с помощью обратной косой черты.
"""This is the first line of my text \
which will be joined to a second."""
Это та же проблема, что и та же техника, описанная выше, в том, что правильный код отличается от неправильного кода только невидимым пробелом.
Какой из них «лучший», зависит от вашей конкретной ситуации, но ответ не просто эстетический, но один из слегка отличающихся поведений.