Hoe kan ik een regeleinde (regelvoortzetting) maken in Python?

Ik heb een lange regel code die ik wil opsplitsen in meerdere regels. Wat moet ik gebruiken en wat is de syntaxis?

Bijvoorbeeld, het toevoegen van een aantal strings,

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

en het in twee regels zoals deze:

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

Wat is de regel? Je kunt gewoon argumenten op de volgende regel hebben zonder problemen:

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

Anders kun je iets als dit doen:

if a == True and \
   b == False

Raadpleeg de stijlgids voor meer informatie.

Van uw voorbeeldregel:

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

Of:

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

Merk op dat de stijlgids zegt dat het gebruik van de impliciete voortzetting met haakjes de voorkeur heeft, maar in dit specifieke geval is het toevoegen van haakjes rond je uitdrukking waarschijnlijk de verkeerde weg.

Commentaren (16)

Zet een `aan het eind van je regel of sluit de verklaring in met parens( .. )`. Van IBM:

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

of

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

From the horse's mouth: Expliciete lijn joining

Twee of meer fysieke lijnen kunnen worden samengevoegd worden tot logische lijnen met backslash tekens (``), als volgt: als een fysieke regel eindigt in een backslash die geen deel uitmaakt van een string letterlijke tekst of commentaar, wordt deze samengevoegd met de volgende die een enkele logische lijn, het verwijderen van de backslash en de volgende einde-van-regel teken. Voor voorbeeld:

if 1900 < year < 2100 and 1 een commentaar voortzetten. Een backslash gaat niet verder met een token behalve string literalen (d.w.z., andere tokens dan string-literals kunnen niet worden gesplitst over fysieke regels met behulp van een backslash). A backslash is illegaal elders op een regel buiten een string-literal.

Commentaren (1)