Hvordan kan jeg gjøre et linjeskift (linjefortsettelse) i Python?

Jeg har en lang kodelinje som jeg vil dele opp i flere linjer. Hva bruker jeg, og hva er syntaksen?

For eksempel å legge til en haug med strenger,

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

og ha det i to linjer som dette:

e = 'a' + 'b' +
    'c' + 'd'
Løsning

Hva er grensen? Du kan bare ha argumenter på neste linje uten problemer:

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

Ellers kan du gjøre noe som dette:

if a == True and \
   b == False

Se stilveiledningen for mer informasjon.

Fra eksempellinjen din:

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

Eller:

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

Merk at stilveiledningen sier at bruk av implisitt fortsettelse med parenteser er å foretrekke, men i dette tilfellet er det sannsynligvis feil å bare legge til parenteser rundt uttrykket ditt.

Kommentarer (16)

Sett et \ på slutten av linjen eller sett utsagnet i parentes ( .. ). Fra IBM:

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

eller

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

Fra hestens munn: Eksplisitt linje joining

To eller flere fysiske linjer kan være sammenføyd til logiske linjer ved hjelp av backslash-tegn (\), som følger: når en fysisk linje avsluttes med en omvendt skråstrek som ikke er en del av en streng bokstav eller kommentar, er den sammenføyd med det følgende som danner en enkelt logisk linje, som sletter backslash og det etterfølgende linjeslutttegnet etterfølgende linjeslutttegn. For eksempel:

hvis 1900 < år < 2100 og 1 fortsette en kommentar. En backslash gjør ikke fortsette et token, bortsett fra streng litteraler (dvs. andre tokens enn strengliteraler kan ikke deles på tvers av fysiske linjer ved hjelp av en backslash). A omvendt skråstrek er ulovlig andre steder på en linje utenfor en strenglitteral.

Kommentarer (1)