Si utilitzeu un verificador de codi compatible amb PEP8, com ara flake8 a Python, obtindreu l’error següent quan una línia superi els 80 caràcters.E501 line too long
Us mostraré com trencar una cadena llarga de més de 80 caràcters, com ara un URL, en diverses línies de codi.
- Ignora els salts de línia amb barres invertides (\)
- Els salts de línia es poden tancar lliurement entre parèntesis
A més, el mòdul textwrap és útil si voleu mostrar i mostrar cadenes llargues embolicant-les o abreviant-les.
Si el nombre de caràcters d’una línia és més llarg en una cadena de mètodes que en una cadena llarga, la línia també es pot trencar al codi.
Ignora els salts de línia amb barres invertides (\)
A Python, la barra invertida (\) és un caràcter de continuació i, quan es col·loca al final d’una línia, ignora els salts de línia posteriors i suposa que la línia continua.
n = 1 + 2 \
+ 3
print(n)
# 6
A més, quan s’escriuen diversos literals de cadena en successió, es concatenen per formar una única cadena tal com es mostra a continuació.
s = 'aaa' 'bbb'
print(s)
# aaabbb
Combinant els dos, es pot escriure una cadena llarga en diverses línies de codi, tal com es mostra a continuació.
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
Tingueu en compte que només es poden concatenar els literals de cadena (tancats entre ‘ o “) i les variables que continguin cadenes donaran lloc a un error.
s_var = 'xxx'
# s = 'aaa' s_var 'bbb'
# SyntaxError: invalid syntax
Per concatenar variables entre si o variables amb literals de cadena, utilitzeu l’operador +.
s = 'aaa' + s_var + 'bbb'
print(s)
# aaaxxxbbb
Fins i tot quan estigui separat per una barra invertida (\), l’operador + és necessari per concatenar variables.
s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'\
+ s_var\
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Els salts de línia es poden tancar lliurement entre parèntesis
A Python, podeu trencar línies lliurement dins dels parèntesis següents. Podeu utilitzar aquesta regla per incloure cadenes llargues de text entre parèntesis.
()
{}
[]
Tingueu en compte que els parèntesis següents tenen un significat.
{} = set
[] = list
Per aquest motiu, utilitzeu claudàtors () quan escriviu una cadena llarga en diverses línies.
De nou, utilitzant el fet que es poden concatenar diverses cadenes per formar una única cadena, podem escriure el següent
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
Com a l’exemple amb la barra invertida, l’operador + és necessari quan s’inclouen variables.
s = ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
+ s_var
+ 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb')
print(s)
# aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxxxbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb