Якщо ви використовуєте 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