Ako koristite program za proveru koda usklađen sa PEP8, kao što je flake8 u Python-u, dobićete sledeću grešku kada linija premaši 80 znakova.E501 line too long
Pokazaću vam kako da razbijete dugačak niz od više od 80 znakova, kao što je URL, u više redova koda.
- Zanemarite prelome redova sa obrnutim kosim crtama (\)
- Prelomi linija mogu se slobodno staviti u zagrade
Takođe, modul textwrap je koristan ako želite da ispišete i prikažete dugačke nizove tako što ćete ih premotati ili skraćivati.
Ako je broj znakova u liniji duži u lancu metoda nego u dugom nizu, linija može biti prekinuta i u kodu.
Zanemarite prelome redova sa obrnutim kosim crtama (\)
U Python-u, obrnuta kosa crta (\) je karakter za nastavak, a kada se postavi na kraj reda, ignoriše naredne prelome reda i pretpostavlja da se linija nastavlja.
n = 1 + 2 \
+ 3
print(n)
# 6
Takođe, kada se uzastopno piše više literala niza, oni se spajaju u jedan string kao što je prikazano u nastavku.
s = 'aaa' 'bbb'
print(s)
# aaabbb
Kombinujući to dvoje, dugačak niz se može napisati u više redova koda, kao što je prikazano ispod.
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
Imajte na umu da samo literali stringova (ograđeni u ‘ ili „“) mogu biti spojeni, a promenljive koje sadrže nizove će dovesti do greške.
s_var = 'xxx'
# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax
Da biste povezali promenljive jedne sa drugima ili promenljive sa string literalima, koristite operator +.
s = 'aaa' + s_var + 'bbb'
print(s)
# aaaxxxbbb
Čak i kada je odvojen obrnutom kosom crtom (\), operator + je neophodan za spajanje promenljivih.
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
+ s_var\
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Prelomi linija mogu se slobodno staviti u zagrade
U Python-u možete slobodno prelomiti linije unutar sledećih zagrada. Možete koristiti ovo pravilo da stavite dugačke nizove teksta u zagrade.
()
{}
[]
Imajte na umu da sledeće zagrade imaju značenje.
{} = set
[] = list
Iz tog razloga, koristite okrugle zagrade () kada pišete dugačak niz u više redova.
Opet, koristeći činjenicu da se više stringova može spojiti zajedno da formiraju jedan niz, možemo napisati sledeće
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
Kao u primeru sa obrnutom kosom crtom, operator + je obavezan kada su promenljive uključene.
s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ s_var
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb