Tengo una larga línea de código que quiero dividir entre varias líneas. ¿Qué uso y cuál es la sintaxis?
Por ejemplo, agregando un montón de cadenas,
e = 'a' + 'b' + 'c' + 'd'
y tenerlo en dos líneas como esta:
e = 'a' + 'b' +
'c' + 'd'
Tengo una larga línea de código que quiero dividir entre varias líneas. ¿Qué uso y cuál es la sintaxis?
Por ejemplo, agregando un montón de cadenas,
e = 'a' + 'b' + 'c' + 'd'
y tenerlo en dos líneas como esta:
e = 'a' + 'b' +
'c' + 'd'
Cual es la linea Puede tener argumentos en la siguiente línea sin ningún problema:
a = dostuff(blahblah1, blahblah2, blahblah3, blahblah4, blahblah5,
blahblah6, blahblah7)
De lo contrario, puede hacer algo como esto:
if a == True and \
b == False
Consulte la guía de estilo para obtener más información.
Desde su línea de ejemplo:
a = '1' + '2' + '3' + \
'4' + '5'
O:
a = ('1' + '2' + '3' +
'4' + '5')
Tenga en cuenta que la guía de estilo dice que se prefiere usar la continuación implícita con paréntesis, pero en este caso particular, simplemente agregar paréntesis alrededor de su expresión es probablemente el camino equivocado.
De PEP 8 - Guía de estilo para código Python :
PEP8 ahora recomienda la convención opuesta (para romper en operaciones binarias) utilizada por los matemáticos y sus editores para mejorar la legibilidad.
El estilo de ruptura de Donald Knuth antes de que un operador binario alinee a los operadores verticalmente, reduciendo así la carga de trabajo del ojo al determinar qué elementos se suman y restan.
De PEP8: ¿Debería una línea saltarse antes o después de un operador binario? :
[3]: El TeXBook de Donald Knuth, páginas 195 y 196
fuente
The preferred way .. is by using Python's implied line continuation inside parentheses
es lo mismo queby wrapping expressions in parentheses
. He actualizado el ejemploEl peligro de usar una barra invertida para finalizar una línea es que si se agrega un espacio en blanco después de la barra invertida (que, por supuesto, es muy difícil de ver), la barra invertida ya no está haciendo lo que pensaba que era.
Vea Python Idioms and Anti-Idioms (para Python 2 o Python 3 ) para más información.
fuente
set list listchars=trail:·
en vim. :)Ponga un
\
al final de su línea o incluya la declaración en parens( .. )
. De IBM :o
fuente
Puede romper líneas entre paréntesis y llaves. Además, puede agregar el carácter de barra diagonal inversa
\
a una línea para dividirlo explícitamente:fuente
fuente
Puede que no sea la forma Pythonic, pero generalmente uso una lista con la función de unión para escribir una cadena larga, como consultas SQL:
fuente
Tomado de The Hitchhiker's Guide to Python ( Continuación de línea ):
Dicho esto, aquí hay un ejemplo que considera múltiples importaciones (cuando excede los límites de línea, definidos en PEP-8 ), también aplicado a cadenas en general:
fuente
Si desea romper su línea debido a una cadena literal larga, puede dividir esa cadena en pedazos:
será reemplazado por
Salida para ambas declaraciones impresas:
a very long string
Observe el paréntesis en la afectación.
Tenga en cuenta también que dividir las cadenas literales en pedazos permite usar el prefijo literal solo en partes de la cadena:
fuente
Utilice el operador de continuación de línea, es decir, "\"
Ejemplos:
fuente