Ако използвате съвместима с 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