write varias txt saltos salto otra línea lineas linea imprimir hacer escribir continuar con como archivos archivo python syntax line-breaks long-lines

varias - salto de linea write python



¿Cómo puedo hacer un salto de línea(continuación de línea) en Python? (7)

De la boca del caballo: línea explícita de unión.

Se pueden unir dos o más líneas físicas en líneas lógicas usando caracteres de barra invertida ( / ), de la siguiente manera: cuando una línea física termina en una barra diagonal inversa que no es parte de un literal de cadena o comentario, se une con lo siguiente formando una única lógica línea, eliminando la barra diagonal inversa y el siguiente carácter de fin de línea. Por ejemplo:

if 1900 < year < 2100 and 1 <= month <= 12 / and 1 <= day <= 31 and 0 <= hour < 24 / and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date return 1

Una línea que termina en una barra invertida no puede llevar un comentario. Una barra invertida no continúa un comentario. Una barra invertida no continúa con un token a excepción de los literales de cadena (es decir, los tokens que no sean literales de cadena no se pueden dividir entre líneas físicas mediante una barra invertida). Una barra invertida es ilegal en otro lugar en una línea fuera de una cadena literal.

Tengo una larga línea de código que quiero dividir entre varias líneas. ¿Qué uso y qué es la sintaxis?

Por ejemplo, añadiendo un montón de cadenas,

e = ''a'' + ''b'' + ''c'' + ''d''

y tenerlo en dos líneas como esta:

e = ''a'' + ''b'' + ''c'' + ''d''


¿Cuál es la línea? Puedes tener argumentos en la siguiente línea sin ningún problema:

a = dostuff(blahblah1, blahblah2, blahblah3, blahblah4, blahblah5, blahblah6, blahblah7)

De lo contrario puedes hacer algo como esto:

if a == True and / b == False

Consulte la guía de estilo para más información.

De 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 es preferible utilizar la continuación implícita con paréntesis, pero en este caso en particular, simplemente agregar paréntesis alrededor de su expresión es probablemente el camino equivocado.


De la guía de estilo para el código Python :

La forma preferida de envolver líneas largas es mediante el uso de la continuación de línea implícita de Python entre paréntesis, corchetes y llaves. Las líneas largas se pueden dividir en varias líneas envolviendo expresiones entre paréntesis. Estos se deben usar en lugar de usar una barra invertida para la continuación de la línea.

Las barras invertidas pueden ser apropiadas a veces. Por ejemplo, las declaraciones largas y múltiples no pueden usar la continuación implícita, por lo que las barras invertidas son aceptables:

with open(''/path/to/some/file/you/want/to/read'') as file_1, / open(''/path/to/some/file/being/written'', ''w'') as file_2: file_2.write(file_1.read())

Otro caso similar es con aseveraciones.

Asegúrese de sangrar la línea continua adecuadamente. El lugar preferido para romper alrededor de un operador binario es después del operador, no antes. Algunos ejemplos:

class Rectangle(Blob): def __init__(self, width, height, color=''black'', emphasis=None, highlight=0): if (width == 0 and height == 0 and color == ''red'' and emphasis == ''strong'' or highlight > 100): raise ValueError("sorry, you lose") if width == 0 and height == 0 and (color == ''red'' or emphasis is None): raise ValueError("I don''t think so -- values are %s, %s" % (width, height)) Blob.__init__(self, width, height, color, emphasis, highlight)

EDITAR: 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 Donald Knuth de romper antes de que un operador binario alinee los operadores verticalmente, reduciendo así la carga de trabajo de los ojos al determinar qué elementos se suman y restan.

Desde PEP8: ¿Debería un salto de línea antes o después de un operador binario? :

Donald Knuth explica la regla tradicional en su serie Computers and Typesetting: "Aunque las fórmulas dentro de un párrafo siempre se rompen después de las operaciones y relaciones binarias, las fórmulas mostradas siempre se rompen antes de las operaciones binarias" [3].

Siguiendo la tradición de las matemáticas, generalmente se obtiene un código más legible:

# Yes: easy to match operators with operands income = (gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest)

En el código Python, se permite romper antes o después de un operador binario, siempre que la convención sea coherente a nivel local. Para el nuevo código se sugiere el estilo de Knuth.

[3]: The TeXBook de Donald Knuth, páginas 195 y 196


El 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 (lo cual, por supuesto, es muy difícil de ver), la barra diagonal inversa ya no hace lo que pensaba que era.

Para más información, consulte Modismos de Python y Anti-idioms (para Python 2 o Python 3 ).


Ponga una / al final de su línea o incluya la declaración en parens ( .. ) . Desde IBM :

b = ((i1 < 20) and (i2 < 30) and (i3 < 40))

o

b = (i1 < 20) and / (i2 < 30) and / (i3 < 40)


Puede que no sea la forma pitónica, pero generalmente uso la función de lista con unión para escribir una cadena larga como consultas SQL.

query = " ".join([ ''SELECT * FROM "TableName"'', ''WHERE "SomeColumn1"=VALUE'', ''ORDER BY "SomeColumn2"'', ''LIMIT 5;'' ])


Puedes romper líneas entre paréntesis y llaves. Además, puede agregar el carácter de barra diagonal inversa a una línea para romperlo explícitamente:

x = (tuples_first_value, second_value) y = 1 + / 2