Ak používate program na kontrolu kódu kompatibilný s PEP8, napríklad flake8 v jazyku Python, zobrazí sa nasledujúca chyba, keď riadok prekročí 80 znakov.E501 line too long
Ukážem vám, ako rozdeliť dlhý reťazec dlhší ako 80 znakov, napríklad adresu URL, na viac riadkov kódu.
- Ignorovanie zlomov riadkov so spätným lomítkom (\)
- Zlomy riadkov môžu byť voľne uzavreté v zátvorkách
Modul textwrap je užitočný aj vtedy, ak chcete vypisovať a zobrazovať dlhé reťazce tak, že ich zabalíte alebo skrátite.
Ak je počet znakov v riadku v reťazci metód dlhší ako v dlhom reťazci, riadok môže byť v kóde tiež zalomený.
Ignorovanie zlomov riadkov so spätným lomítkom (\)
V jazyku Python je spätné lomítko (\) znakom pokračovania, a keď je umiestnené na konci riadku, ignoruje následné zalomenie riadku a predpokladá, že riadok pokračuje.
n = 1 + 2 \
+ 3
print(n)
# 6
Keď sa zapíše viacero reťazcových literálov za sebou, spojia sa do jedného reťazca, ako je znázornené nižšie.
s = 'aaa' 'bbb'
print(s)
# aaabbb
Kombináciou týchto dvoch možností možno dlhý reťazec zapísať vo viacerých riadkoch kódu, ako je znázornené nižšie.
s = 'https://ja.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://ja.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
Všimnite si, že spájať možno len reťazcové literály (uzavreté v ' alebo „“) a premenné obsahujúce reťazce budú mať za následok chybu.
s_var = 'xxx'
# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax
Ak chcete spojiť premenné navzájom alebo premenné do reťazcových literálov, použite operátor +.
s = 'aaa' + s_var + 'bbb'
print(s)
# aaaxxxbbb
Aj keď sú premenné oddelené spätným lomítkom (\), na spojenie premenných sa vyžaduje operátor +.
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
+ s_var\
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Zlomy riadkov môžu byť voľne uzavreté v zátvorkách
V jazyku Python môžete ľubovoľne zalamovať riadky v nasledujúcich zátvorkách. Toto pravidlo môžete použiť na uzavretie dlhých textových reťazcov do zátvoriek.
()
{}
[]
Všimnite si, že niektoré zátvorky sa používajú aj iným spôsobom, ako je uvedené nižšie, preto pri takomto použití použite okrúhle zátvorky ().
{}
Súprava: Sada[]
: Zoznam
Ak opäť využijeme skutočnosť, že viacero reťazcov možno spojiť do jedného reťazca, môžeme napísať nasledovné
s = ('https://ja.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://ja.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
Rovnako ako v príklade so spätným lomítkom sa operátor + vyžaduje, keď sú zahrnuté premenné.
s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ s_var
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb