Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Η σύνταξη κώδικα εργασίας δεν είναι πάντα αρκετή. θα πρέπει να προσπαθήσετε να γράψετε καλά δομημένο κώδικα που είναι επίσης εύκολα κατανοητός. Ο καθαρός κώδικας θα διευκολύνει εσάς —και άλλους— τη συντήρηση του λογισμικού σας.

Η Python έχει πολλές δυνατότητες και λειτουργίες που μπορούν να σας βοηθήσουν να γράψετε καθαρότερο κώδικα. Εδώ είναι μερικά από τα καλύτερα.

1. Αυτοματοποιήστε το κλείσιμο πόρων με το Context Manager

Το μη αυτόματο κλείσιμο πόρων μπορεί να είναι άβολο όταν ο κώδικάς σας αλληλεπιδρά με πολλούς πόρους. Μπορεί να ξεχάσετε να κλείσετε έναν πόρο. Αυτό κάνει το πρόγραμμά σας να χρησιμοποιεί αναποτελεσματικά τους πόρους του συστήματος, κάτι που μπορεί να οδηγήσει σε α έλλειψη μνήμης.

Αυτός ο κώδικας ανοίγει ένα αρχείο και μετά το κλείνει με μη αυτόματο τρόπο:

αρχείο = ανοιχτό("test.txt"
instagram viewer
, 'ρ')
file_contents = file.read()
file.close()
λέξεις = file_contents.split(' ')
word_count = len (λέξεις)
εκτύπωση (word_count)

Μπορείτε να αυτοματοποιήσετε το κλείσιμο του αρχείου χρησιμοποιώντας έναν διαχειριστή περιβάλλοντος. Οι διαχειριστές περιβάλλοντος διαχειρίζονται πόρους για εσάς, επομένως δεν χρειάζεται να θυμάστε να τους διαχειρίζεστε χειροκίνητα. Χρησιμοποιήστε το με δήλωση για τη δημιουργία ενός περιβάλλοντος για τη διαχείριση ενός πόρου:

με Άνοιξε("test.txt", 'ρ') όπως και αρχείο:
file_contents = file.read()
λέξεις = file_contents.split(' ')
word_count = len (λέξεις)
εκτύπωση (word_count)

Ο κώδικας σε αυτό το μπλοκ εκτελείται στο πλαίσιο του αντικειμένου αρχείου που Άνοιξε επιστρέφει. Η Python κλείνει αυτόματα αυτό το αρχείο όταν ο κώδικας φεύγει από αυτό το πλαίσιο, ακόμα κι αν προκύψει εξαίρεση.

2. Σύνταξη καθαρότερων δηλώσεων υπό όρους

Μπορεί να βρείτε τον εαυτό σας να γράφει πολύ περιττό κώδικα όταν ασχολείστε με αν-άλλο δηλώσεις. Η Python έχει τριαδικούς τελεστές που θα σας βοηθήσουν να γράψετε πιο συμπαγείς δηλώσεις. Το παρακάτω μπλοκ κώδικα δείχνει μια κανονική δήλωση if-else.

κατάσταση = Αληθής

αν κατάσταση:
x = 1
αλλού:
x = 0

εκτύπωση (x)

Μπορείτε να ξαναγράψετε αυτόν τον κώδικα χρησιμοποιώντας έναν τριαδικό τελεστή που σας επιτρέπει να γράψετε τη συνθήκη σε μία γραμμή κώδικα.

κατάσταση = Αληθής
x = 1αν κατάσταση αλλού0
εκτύπωση (x)

Είναι σημαντικό να σημειωθεί ότι πρέπει να χρησιμοποιείτε τριαδικούς τελεστές όταν εφαρμόζετε απλή λογική. Σε πιο περίπλοκη λογική και ένθετες εντολές υπό όρους, ο τριαδικός τελεστής μπορεί να γίνει δυσνόητος.

3. Παρακολούθηση αντικειμένων με τη συνάρτηση απαρίθμησης

Κατά την επανάληψη σε μια λίστα Python, μπορείτε να έχετε πρόσβαση στο ευρετήριο του τρέχοντος στοιχείου με δύο τρόπους. Ένας τρόπος είναι η χρήση του παραδοσιακού βρόχου for. Αυτό λειτουργεί καλά, αλλά ο κώδικας δεν είναι τόσο καθαρός όσο θα μπορούσε να είναι. Απαιτεί επίσης να αρχικοποιήσετε το ευρετήριο με μη αυτόματο τρόπο.

αυτοκίνητα = ["Bugatti", "Mercedes", 'Toyota']
ευρετήριο = 0

Για αυτοκίνητο σε αυτοκίνητα:
εκτύπωση (ευρετήριο, αυτοκίνητο)
ευρετήριο += 1

Ο άλλος τρόπος είναι να χρησιμοποιήσετε την ενσωματωμένη συνάρτηση απαρίθμησης Python. Αυτό θα σας επιτρέψει να αποκτήσετε πρόσβαση στο ευρετήριο και στην αντίστοιχη τιμή στη λίστα κατά τη διάρκεια του βρόχου.

αυτοκίνητα = ["Bugatti", "Mercedes", 'Toyota']

Για ευρετήριο, αυτοκίνητο σε απαριθμήσω (αυτοκίνητα):
εκτύπωση (ευρετήριο, αυτοκίνητο)

Τώρα δεν χρειάζεται να παρακολουθείτε το ευρετήριο με μη αυτόματο τρόπο.

4. Επανάληψη πολλών λιστών με τη λειτουργία Zip

Μπορείτε επίσης να χρησιμοποιήσετε τη συνάρτηση απαρίθμησης για να κάνετε βρόχο σε πολλές λίστες ταυτόχρονα. Λάβετε το ευρετήριο της πρώτης λίστας και, στη συνέχεια, χρησιμοποιήστε το για να αποκτήσετε πρόσβαση στις αντίστοιχες τιμές σε άλλες λίστες.

αγγλικά_ονόματα = ['τροφή', 'νερό', 'αυτοκίνητο']
ισπανικά_ονόματα = [«τροφή», 'agua', 'αυτο']

Για ευρετήριο, όνομα σε απαρίθμηση (αγγλικά_ονόματα):
ισπανικά = ισπανικά_ονόματα [ευρετήριο]
Τυπώνω (φά' {όνομα} στα ισπανικά είναι {Ισπανικά}')

Αυτό λειτουργεί καλά, αλλά θα πρέπει να γράψετε πολύ περιττό κώδικα εάν αυξηθεί ο αριθμός των λιστών. Για να γράψετε καθαρότερο κώδικα, μπορείτε να χρησιμοποιήσετε τη λειτουργία zip και να περάσετε τα ονόματα της λίστας σας σε αυτήν.

αγγλικά_ονόματα = ['τροφή', 'νερό', 'αυτοκίνητο']
ισπανικά_ονόματα = [«τροφή», 'agua', 'αυτο']

Για Αγγλικά Ισπανικά σε zip (αγγλικά_ονόματα, ισπανικά_ονόματα):
Τυπώνω(φά' {Αγγλικά} στα ισπανικά είναι {Ισπανικά}')

Θα πρέπει να συνεχίσετε να χρησιμοποιείτε τη συνάρτηση απαρίθμησης για να βρόχο σε μια ενιαία λίστα. Αλλά αν κάνετε επαναφορά σε πολλές λίστες μαζί, σκεφτείτε να χρησιμοποιήσετε τη λειτουργία zip.

Κατά την εισαγωγή ευαίσθητων πληροφοριών, η εισαγωγή δεν πρέπει να είναι ορατή ως απλό κείμενο στην οθόνη. Ο συνήθης τρόπος λήψης εισόδου στην Python είναι να χρησιμοποιήσετε τη συνάρτηση εισαγωγής:

όνομα χρήστη = είσοδος('Όνομα χρήστη:')
κωδικός πρόσβασης = εισαγωγή ('Κωδικός πρόσβασης: ')
Τυπώνω('Σύνδεση...')

Ωστόσο, η λειτουργία εισαγωγής καθιστά τον κωδικό πρόσβασης ορατό ως απλό κείμενο στην οθόνη κατά την πληκτρολόγηση. Για να βεβαιωθείτε ότι ο κωδικός πρόσβασης δεν εμφανίζεται στην οθόνη, θα πρέπει να χρησιμοποιήσετε τη λειτουργία getpass:

από getpass εισαγωγή getpass
όνομα χρήστη = είσοδος('Όνομα χρήστη:')
κωδικός πρόσβασης = getpass('Κωδικός πρόσβασης:')
Τυπώνω('Σύνδεση...')

Η ενότητα getpass είναι μέρος της τυπικής βιβλιοθήκης της Python, επομένως δεν χρειάζεται να την εγκαταστήσετε.

6. Κάνοντας τους μεγάλους αριθμούς αναγνώσιμους με χρήση θέσεων υπογράμμισης

Όταν έχετε να κάνετε με μεγάλους αριθμούς στο πρόγραμμά σας, μπορεί να είναι πολύ δύσκολο να διαβαστούν με μια ματιά. Η αντιστοίχιση λανθασμένων αριθμών σε μεταβλητές οδηγεί σε ένα ελαττωματικό πρόγραμμα και ο εντοπισμός αυτού του σφάλματος μπορεί να είναι πολύ δύσκολος.

num1 = 10000000000
num2 = 100000000
σύνολο = num1 + num2
εκτύπωση (σύνολο)

Μπορείτε να ξαναγράψετε τον παραπάνω κώδικα χρησιμοποιώντας υπογράμμιση για να διαχωρίσετε ομάδες χιλιάδων, έναν συνηθισμένο τρόπο για να κάνετε τους μεγάλους αριθμούς πιο ευανάγνωστους.

num1 = 10_000_000_000
num2 = 100_000_000
σύνολο = num1 + num2
Τυπώνω(φά'{σύνολο:,}')

Η συμβολοσειρά f στη συνάρτηση εκτύπωσης διαχωρίζει την έξοδο χρησιμοποιώντας το διαχωριστικό χιλιάδων.

7. Χρησιμοποιώντας τη συνάρτηση Βοήθειας για να μάθετε περισσότερα για μια ενότητα

Η συνάρτηση βοήθειας είναι πολύ σημαντική στην Python. Θα σας ενημερώσει πώς να χρησιμοποιήσετε μια μονάδα που έχετε εγκαταστήσει. Για να το χρησιμοποιήσετε, εγκαταστήστε τη λειτουργική μονάδα και, στη συνέχεια, εκκινήστε τον διερμηνέα Python σε ένα τερματικό και τοποθετήστε τον δείκτη στη διαδρομή που έχετε εγκαταστήσει τη λειτουργική μονάδα. Εισαγάγετε τη μονάδα και, τέλος, περάστε το όνομα της μονάδας στη συνάρτηση βοήθειας.

Για να ανακαλύψετε ποιες μεθόδους και χαρακτηριστικά μπορείτε να χρησιμοποιήσετε, αντικαταστήστε τη συνάρτηση βοήθειας με τη συνάρτηση dir.

Η συνάρτηση dir επιστρέφει τις μεθόδους και χαρακτηρίζει ότι η ενότητα δεν υποστηρίζει ολόκληρη την τεκμηρίωση. Αυτό είναι χρήσιμο όταν θέλετε να ρίξετε μια ματιά στο τι κάνει η ενότητα.

Γράφοντας καθαρότερο κώδικα Python

Η Python είναι μια πολύ διαφορετική γλώσσα. Όπως με κάθε άλλη γλώσσα, θα γίνετε καλύτεροι στο να γράφετε καθαρότερο κώδικα Python με την πάροδο του χρόνου.

Η Python έχει πολλές ενσωματωμένες μονάδες και λειτουργίες. Σε ορισμένες περιπτώσεις, μπορείτε να γράψετε δυσανάγνωστο κώδικα επειδή δεν γνωρίζετε την ύπαρξη μιας συγκεκριμένης συνάρτησης. Για να βεβαιωθείτε ότι είστε πιο ενημερωμένοι, θα πρέπει να διαβάσετε περισσότερα άρθρα σχετικά με το πώς να γράψετε καλύτερο κώδικα.