Is het mogelijk om een lange regel in Python op te splitsen in meerdere regels

Net als in C, kun je een lange regel breken in meerdere korte regels. Maar in Python, als ik dit doe, komt er een inspringfout... Is het mogelijk?

Oplossing

Uit PEP 8 - Stijlgids voor Python Code:

De voorkeursmanier om lange regels te verpakken is door gebruik te maken van Python's impliciete regel voortzetting binnen haakjes, accolades en accolades. Indien nodig, kunt u kunt u een extra paar haakjes rond een expressie toevoegen, maar soms ziet het gebruik van een backslash er beter uit. Zorg ervoor dat de vervolgregel op de juiste manier.

Voorbeeld van impliciete regelvoortzetting:

a = some_function(
    '1' + '2' + '3' - '4')

Over regeleindes rond een binaire operator wordt het volgende gezegd:-

Decennia lang was de aanbevolen stijl om te breken na binaire operatoren. Maar dit kan de leesbaarheid op twee manieren schaden: de operatoren hebben de neiging om verspreid te raken over verschillende kolommen op het scherm, en elke operator wordt weggeschoven van zijn operand en naar de vorige regel.

In Python-code is het toegestaan om voor of na een binaire operator te breken, zolang de conventie lokaal maar consistent is. Voor nieuwe code wordt Knuth's stijl (regeleindes vóór de operator) voorgesteld.

Voorbeeld van expliciete regelvoortzetting:

a = '1'   \
    + '2' \
    + '3' \
    - '4'
Commentaren (3)

Het werkt ook in Python:

>>> 1+\
      2+\
3
6
>>> (1+
          2+
 3)
6
Commentaren (0)

Voor zover ik weet, kan het gedaan worden. Python heeft impliciete regel voortzetting (binnen haakjes, haakjes, en strings) voor drievoudig aangehaalde strings ("""zoals dit""") en de inspringing van voortzettingsregels is niet belangrijk. Voor meer informatie kun je dit artikel lezen over lexicale analyse, van python.org.

Commentaren (1)