Als je een PEP8-compatibele code checker gebruikt, zoals flake8 in Python, krijg je de volgende foutmelding als een regel langer is dan 80 karakters.E501 line too long
Ik zal je laten zien hoe je een lange string van meer dan 80 karakters, zoals een URL, kunt opdelen in meerdere regels code.
- Negeer regeleindes met backslashes (spaties)
- Regeleinden kunnen vrij tussen haakjes worden geplaatst
De textwrap module is ook nuttig als u lange reeksen wilt uitvoeren en weergeven door ze te omwikkelen of af te korten.
Indien het aantal karakters in een regel langer is in een method chain dan in een lange string, kan de regel ook in de code worden afgebroken.
Negeer regeleindes met backslashes (spaties)
In Python is de backslash (\) een voortzettingsteken, en wanneer deze aan het eind van een regel wordt geplaatst, worden volgende regeleindes genegeerd en wordt aangenomen dat de regel wordt voortgezet.
n = 1 + 2 \
+ 3
print(n)
# 6
Ook wanneer meerdere string-literals achter elkaar worden geschreven, worden ze aaneengeschakeld om één string te vormen, zoals hieronder wordt getoond.
s = 'aaa' 'bbb'
print(s)
# aaabbb
Door de twee te combineren kan een lange string in meerdere regels code worden geschreven, zoals hieronder wordt getoond.
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
Merk op dat alleen string-literals (ingesloten door ' of “”) kunnen worden samengevoegd, en dat variabelen die strings bevatten een fout zullen opleveren.
s_var = 'xxx'
# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax
Om variabelen aan elkaar te koppelen of variabelen aan string-literalen, gebruik je de + operator.
s = 'aaa' + s_var + 'bbb'
print(s)
# aaaxxxbbb
Zelfs indien gescheiden door een backslash (\), is de + operator vereist om variabelen aan elkaar te koppelen.
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
+ s_var\
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Regeleinden kunnen vrij tussen haakjes worden geplaatst
In Python kun je regels vrij breken binnen de volgende haakjes. U kunt deze regel gebruiken om lange reeksen tekst tussen haakjes te zetten.
()
{}
[]
Merk op dat sommige haakjes op andere manieren worden gebruikt, zoals hieronder, dus gebruik ronde haakjes () voor dergelijk gebruik.
{}
Set: Set[]
: Lijst
Opnieuw, gebruikmakend van het feit dat meerdere strings aan elkaar kunnen worden gekoppeld om één enkele string te vormen, kunnen we het volgende schrijven
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
Net als in het voorbeeld met de backslash, is de + operator vereist wanneer variabelen worden opgenomen.
s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ s_var
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb