Ich habe eine lange Codezeile, die ich in mehrere Zeilen aufteilen möchte. Was verwende ich und wie lautet die Syntax?
Zum Beispiel Hinzufügen einer Reihe von Zeichenfolgen,
e = 'a' + 'b' + 'c' + 'd'
und habe es in zwei Zeilen wie folgt:
e = 'a' + 'b' +
'c' + 'd'
python
syntax
line-breaks
long-lines
Strahl
quelle
quelle
Aus PEP 8 - Style Guide für Python-Code :
PEP8 empfiehlt nun die entgegengesetzte Konvention (zum Brechen bei binären Operationen), die von Mathematikern und ihren Herausgebern verwendet wird, um die Lesbarkeit zu verbessern.
Donald Knuths Art zu brechen, bevor ein binärer Operator die Operatoren vertikal ausrichtet, wodurch die Arbeitsbelastung des Auges verringert wird, wenn bestimmt wird, welche Elemente addiert und subtrahiert werden.
Aus PEP8: Sollte eine Zeile vor oder nach einem binären Operator unterbrochen werden? ::
[3]: Donald Knuths The TeXBook, Seiten 195 und 196
quelle
The preferred way .. is by using Python's implied line continuation inside parentheses
Es ist dasselbe wieby wrapping expressions in parentheses
. Ich habe Beispiel aktualisiertDie Gefahr bei der Verwendung eines Backslashs zum Beenden einer Zeile besteht darin, dass der Backslash nicht mehr das tut, was Sie dachten, wenn nach dem Backslash Leerzeichen hinzugefügt werden (was natürlich sehr schwer zu erkennen ist).
Weitere Informationen finden Sie unter Python-Redewendungen und Anti-Redewendungen (für Python 2 oder Python 3 ).
quelle
set list listchars=trail:·
in vim. :)Setzen Sie ein
\
am Ende Ihrer Zeile oder fügen Sie die Aussage in parens ein( .. )
. Von IBM :oder
quelle
Sie können Linien zwischen Klammern und Klammern brechen. Darüber hinaus können Sie das Backslash-Zeichen
\
an eine Zeile anhängen , um es explizit zu unterbrechen:quelle
quelle
Es ist vielleicht nicht die pythonische Methode, aber ich verwende im Allgemeinen eine Liste mit der Join-Funktion zum Schreiben einer langen Zeichenfolge, wie z. B. SQL-Abfragen:
quelle
Entnommen aus dem Per Anhalter durch Python ( Fortsetzung der Zeile ):
Im Folgenden finden Sie ein Beispiel für mehrere Importe (bei Überschreitung der in PEP-8 definierten Zeilengrenzen ), die auch für Zeichenfolgen im Allgemeinen gelten:
quelle
Wenn Sie Ihre Zeile aufgrund einer langen Literalzeichenfolge unterbrechen möchten, können Sie diese Zeichenfolge in Teile aufteilen:
wird ersetzt durch
Ausgabe für beide print-Anweisungen:
a very long string
Beachten Sie die Klammern in der Beeinflussung.
Beachten Sie auch, dass beim Aufteilen von Literalzeichenfolgen in Teile das Literalpräfix nur für Teile der Zeichenfolge verwendet werden kann:
quelle
Verwenden Sie den Zeilenfortsetzungsoperator dh "\"
Beispiele:
quelle