Если вы используете PEP8-совместимую программу проверки кода, такую как flake8 в Python, вы получите следующую ошибку, если строка превышает 80 символов.E501 line too long
Я покажу вам, как разбить длинную строку из более чем 80 символов, такую как URL, на несколько строк кода.
- Игнорировать переносы строк с обратными слешами (\)
- Разрывы строк могут быть свободно заключены в круглые скобки
Модуль textwrap также полезен, если вы хотите выводить и отображать длинные строки, оборачивая или опуская их.
Если у вас есть цепочка методов, длина которой превышает одну строку символов, а не длинная строка, вы можете разорвать строку и в коде.
Игнорировать переносы строк с обратными слешами (\)
В Python обратный слеш (\) является символом продолжения, и когда он помещается в конец строки, он игнорирует последующие переносы строк и считает, что строка продолжается.
n = 1 + 2 \
+ 3
print(n)
# 6
Кроме того, когда несколько строковых литералов записываются последовательно, они объединяются в одну строку, как показано ниже.
s = 'aaa' 'bbb'
print(s)
# aaabbb
Комбинируя эти два способа, длинную строку можно записать в несколько строк кода, как показано ниже.
s = 'https://wikipedia.org/wiki/'\
'%E3%83%97%E3%83%AD%E3%82%B0%E3%83'\
'%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E'
print(s)
# https://wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E
Обратите внимание, что конкатенировать можно только строковые литералы (заключенные в ' или «»), а переменные, содержащие строки, приведут к ошибке.
s_var = 'xxx'
# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax
Для конкатенации переменных друг с другом или переменных со строковыми литералами используйте оператор +.
s = 'aaa' + s_var + 'bbb'
print(s)
# aaaxxxbbb
Даже если они разделены обратной косой чертой (\), для объединения переменных требуется оператор +.
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
+ s_var\
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Разрывы строк могут быть свободно заключены в круглые скобки
В Python можно свободно разрывать строки внутри следующих за ними круглых скобок. Это правило можно использовать для заключения длинных строк текста в круглые скобки.
()
{}
[]
Обратите внимание, что следующие скобки имеют значение.
{} = set
[] = list
Поэтому при записи длинной строки на нескольких строках используйте круглые скобки ().
Опять же, используя тот факт, что несколько строк могут быть объединены в одну строку, мы можем написать следующее.
s = ('https://wikipedia.org/wiki/'
'%E3%83%97%E3%83%AD%E3%82%B0%E3%83'
'%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E')
print(s)
# https://wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E
Как и в примере с обратной косой чертой, оператор + необходим при включении переменных.
s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ s_var
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb