Είναι δυνατόν να σπάσετε μια μεγάλη γραμμή σε πολλαπλές γραμμές στην Python;

Ακριβώς όπως στη C, μπορείτε να σπάσετε μια μεγάλη γραμμή σε πολλές μικρές γραμμές. Αλλά στην Python, αν το κάνω αυτό, θα υπάρξει σφάλμα εσοχής... Είναι δυνατόν;

Λύση

Από το PEP 8 - Οδηγός στυλ για κώδικα Python:

Ο προτιμώμενος τρόπος περιτύλιξης μεγάλων γραμμών είναι η χρήση της υπονοούμενης γραμμής της Python's συνέχεια μέσα σε παρενθέσεις, αγκύλες και αγκύλες. Εάν είναι απαραίτητο, μπορείτε μπορείτε να προσθέσετε ένα επιπλέον ζεύγος παρενθέσεων γύρω από μια έκφραση, αλλά μερικές φορές η χρήση μιας backslash φαίνεται καλύτερη. Βεβαιωθείτε ότι η συνεχιζόμενη γραμμή έχει εσοχή κατάλληλα.

Παράδειγμα σιωπηρής συνέχισης γραμμής:

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

Σχετικά με το θέμα των αλλαγών γραμμής γύρω από έναν δυαδικό τελεστή, συνεχίζει λέγοντας:-

Για δεκαετίες το συνιστώμενο στυλ ήταν να γίνεται διακοπή μετά από δυαδικούς τελεστές. Αλλά αυτό μπορεί να βλάψει την αναγνωσιμότητα με δύο τρόπους: οι τελεστές τείνουν να διασκορπίζονται σε διαφορετικές στήλες της οθόνης και κάθε τελεστής απομακρύνεται από τον τελεστή του και μεταφέρεται στην προηγούμενη γραμμή.

Στον κώδικα της Python, επιτρέπεται το σπάσιμο πριν ή μετά από έναν δυαδικό τελεστή, εφόσον η σύμβαση είναι συνεπής τοπικά. Για νέο κώδικα προτείνεται το στυλ του Knuth's (αλλαγή γραμμής πριν από τον τελεστή).

Παράδειγμα ρητής συνέχισης γραμμής:

a = '1'   \
    + '2' \
    + '3' \
    - '4'
Σχόλια (3)

Λειτουργεί και στην Python:

>>> 1+\
      2+\
3
6
>>> (1+
          2+
 3)
6
Σχόλια (0)

Απ' όσο γνωρίζω, μπορεί να γίνει. Η Python έχει έμμεση συνέχιση γραμμής (μέσα σε παρενθέσεις, αγκύλες και συμβολοσειρές) για συμβολοσειρές με τριπλά εισαγωγικά (""""όπως αυτό""""")και η εσοχή των γραμμών συνέχισης δεν είναι σημαντική. Για περισσότερες πληροφορίες, μπορείτε να διαβάσετε αυτό το άρθρο για τη λεξική ανάλυση, από το python.org.

Σχόλια (1)