Wie kann ich in Python einen Zeilenumbruch (Zeilenfortsetzung) vornehmen?

Ich habe eine lange Codezeile, die ich auf mehrere Zeilen aufteilen möchte. Was verwende ich und wie lautet die Syntax?

Zum Beispiel, indem ich eine Reihe von Strings hinzufüge,

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

und das in zwei Zeilen wie folgt:

e = 'a' + 'b' +
    'c' + 'd'
Lösung

Wie lautet die Zeile? Sie können ohne Probleme Argumente in der nächsten Zeile angeben:

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

Andernfalls können Sie etwas wie folgt tun:

if a == True and \
   b == False

Weitere Informationen finden Sie im style guide.

Aus Ihrer Beispielzeile:

a = '1' + '2' + '3' + \
    '4' + '5'

Oder:

a = ('1' + '2' + '3' +
    '4' + '5')

Beachten Sie, dass der Styleguide besagt, dass die implizite Fortsetzung mit Klammern zu bevorzugen ist, aber in diesem speziellen Fall ist das Hinzufügen von Klammern um Ihren Ausdruck wahrscheinlich der falsche Weg.

Kommentare (16)

Setzen Sie ein \ an das Ende Ihrer Zeile oder schließen Sie die Anweisung in Klammern ( .. ) ein. Von IBM:

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

oder

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

Aus berufenem Munde: [Explizite Zeile

verbinden ]1

Zwei oder mehr physische Linien können zu logischen Zeilen verbunden werden, indem Backslash-Zeichen (\), wie folgt: Wenn eine physische Zeile mit einem Backslash endet, der nicht Teil einer Zeichenkette ist Literal oder Kommentar ist, wird sie mit der folgenden Zeile zu einer einzigen logischen Zeile, wobei der Backslash und das folgende Zeilenende-Zeichen. Für Beispiel:

wenn 1900 < Jahr < 2100 und 1 setzt einen Kommentar nicht fort. Ein Backslash kann setzt ein Token nicht fort, außer bei String Literale (d.h. andere Zeichen als String-Literale können nicht über physische Zeilen mit einem Backslash aufgeteilt werden). A Backslash ist an anderer Stelle in einer Zeile außerhalb eines Zeichenkettenliterales.

Kommentare (1)