Ako koristite provjeru koda usklađenog s PEP8, kao što je flake8 u Pythonu, dobit ćete sljedeću pogrešku kada redak premaši 80 znakova.E501 line too long
Pokazat ću vam kako razbiti dugi niz od više od 80 znakova, kao što je URL, u više redaka koda.
- Zanemarite prijelome reda s obrnutim crtama (\)
- Prijelomi redaka mogu se slobodno staviti u zagrade
Također, modul textwrap je koristan ako želite ispisati i prikazati duge nizove prelamanjem ili skraćenjem.
Ako je broj znakova u retku duži u lancu metoda nego u dugom nizu, redak se također može prekinuti u kodu.
Zanemarite prijelome reda s obrnutim crtama (\)
U Pythonu, obrnuta kosa crta (\) je znak za nastavak, a kada se stavi na kraj retka, zanemaruje naknadne prijelome reda i pretpostavlja da se red nastavlja.
n = 1 + 2 \
+ 3
print(n)
# 6
Također, kada se uzastopno napiše više literala niza, oni se spajaju u jedan niz kao što je prikazano u nastavku.
s = 'aaa' 'bbb'
print(s)
# aaabbb
Kombinirajući to dvoje, dugi niz može se napisati u više redaka koda, kao što je prikazano u nastavku.
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 se samo literali niza (ograđeni u ‘ ili “”) mogu spojiti, a varijable koje sadrže nizove rezultirat će pogreškom.
s_var = 'xxx'
# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax
Da spojite varijable jedne s drugima ili varijable u literale niza, koristite operator +.
s = 'aaa' + s_var + 'bbb'
print(s)
# aaaxxxbbb
Čak i kada je odvojen obrnutom kosom crtom (\), operator + je potreban za spajanje varijabli.
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
+ s_var\
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Prijelomi redaka mogu se slobodno staviti u zagrade
U Pythonu možete slobodno lomiti retke unutar sljedećih zagrada. Ovo pravilo možete koristiti za stavljanje dugih nizova teksta u zagrade.
()
{}
[]
Imajte na umu da sljedeće zagrade imaju značenje.
{} = set
[] = list
Iz tog razloga koristite okrugle zagrade () kada pišete dugački niz u više redaka.
Opet, koristeći činjenicu da se višestruki nizovi mogu spojiti zajedno u jedan niz, možemo napisati sljedeć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 primjeru s obrnutom kosom crtom, operator + je obavezan kada su varijable uključene.
s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ s_var
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb