Ως προγραμματιστής, θα βρεθείτε συχνά να εκτελείτε μια ενέργεια ή μια εργασία επανειλημμένα. Αυτό μπορεί να είναι κουραστικό και χρονοβόρο, ειδικά όταν εργάζεστε με μια μεγάλη ή πολύπλοκη βάση κώδικα. Η αυτοματοποίησή τους με λειτουργίες είναι μια πιο αποτελεσματική προσέγγιση για την εκτέλεση τέτοιων εργασιών. Οι συναρτήσεις σάς επιτρέπουν να γράψετε τη λογική κώδικα μία φορά και να τη χρησιμοποιήσετε οπουδήποτε στο πρόγραμμά σας.
Τι είναι μια συνάρτηση Python;
Στην Python, μια συνάρτηση είναι ένα μπλοκ κώδικα που χρησιμοποιείται για την εκτέλεση μιας συγκεκριμένης εργασίας. Χρειάζεται να γράψετε μια συνάρτηση μόνο μία φορά, αλλά μπορείτε να τη χρησιμοποιήσετε πολλές φορές στον κώδικά σας. Μια συνάρτηση μπορεί να λάβει ορίσματα ως τιμές εισόδου και επιστροφής εξόδου. Αυτό το απλό πρόγραμμα δείχνει μια συνάρτηση που υπολογίζει το άθροισμα τριών αριθμών:
# Συνάρτηση Python για τον υπολογισμό του αθροίσματος τριών αριθμών
defυπολογισμός_αθροίσματος(α, β, γ):
ΕΠΙΣΤΡΟΦΗ α+β+γ
εκτύπωση (υπολογισμός_αθροίσματος( 1,2,3)) # επιστρέφει 6
εκτύπωση (υπολογισμός_αθροίσματος(1000, 300,44)) # επιστρέφει 1344
εκτύπωση (υπολογισμός_αθροίσματος(12, 4,78)) # επιστρέφει 94
Στο παραπάνω πρόγραμμα, η συνάρτηση επιστρέφει το άθροισμα τριών ορισμάτων. Όταν η συνάρτηση καλείται πολλές φορές, επιστρέφει διαφορετική έξοδο για κάθε περίπτωση. Μια χρήσιμη εφαρμογή για αυτή τη λειτουργία θα είναι μια εφαρμογή αριθμομηχανής.
Ορισμός συνάρτησης στην Python
Η Python έχει πολλές ενσωματωμένες λειτουργίες διαθέσιμο για χρήση από προγραμματιστές. Ωστόσο, αυτές οι ενσωματωμένες λειτουργίες δεν είναι πάντα αρκετές για να καλύψουν τις απαιτήσεις των περισσότερων έργων. Για να ανταποκριθείτε στις προσαρμοσμένες απαιτήσεις, πρέπει να ορίσετε τις προσαρμοσμένες λειτουργίες σας. Ο ορισμός προσαρμοσμένων συναρτήσεων είναι κοινή πρακτική στον προγραμματισμό.
Στην Python, μπορείτε να ορίσετε μια προσαρμοσμένη συνάρτηση χρησιμοποιώντας το def λέξη-κλειδί ακολουθούμενη από το όνομα της συνάρτησής σας με παρένθεση μπροστά της. Εδώ είναι ένα παράδειγμα:
defόνομα_λειτουργίας()
Θα πρέπει να λάβετε υπόψη αυτούς τους κανόνες όταν εκχωρείτε ένα όνομα συνάρτησης στην Python:
- Τα ονόματα των συναρτήσεων πρέπει να είναι με πεζά.
- Τα ονόματα των συναρτήσεων πρέπει να είναι περιγραφικά.
- Χρησιμοποιήστε υπογράμμιση για να διαχωρίσετε λέξεις σε ένα όνομα συνάρτησης.
Αφού ορίσετε τη συνάρτηση, πρέπει να γράψετε τη λογική για να εκτελέσετε την εργασία που θέλετε. Για παράδειγμα, αυτή η συνάρτηση υπολογίζει το εμβαδόν ενός τριγώνου:
# Συνάρτηση Python για τον υπολογισμό του εμβαδού ενός τριγώνου
defυπολογισμός_περιοχής_τριγώνου(βάση, ύψος):
περιοχή = (βάση * ύψος)/2
ΕΠΙΣΤΡΟΦΗ περιοχή
εκτύπωση (υπολογισμός_περιοχής_τριγώνου(12, 3))
Η παραπάνω συνάρτηση ορίζει δύο παραμέτρους: βάση και ύψος, διαιρεί το προϊόν τους με δύο και επιστρέφει το αποτέλεσμα ως έξοδο. Μπορείτε να γράψετε όποια λογική θέλετε να εκτελέσει η λειτουργία σας.
Κατανόηση επιχειρημάτων συνάρτησης
Σε προηγούμενα παραδείγματα, οι συναρτήσεις έχουν λάβει ορίσματα για την εκτέλεση ενεργειών. Τα ορίσματα σε αυτά τα παραδείγματα είναι γνωστά ως απαιτούμενα επιχειρήματα ή ορίσματα θέσης. Στην Python, τα ορίσματά σας μπορεί να είναι ένα από τα ακόλουθα:
- Επιχειρήματα θέσης
- Ορίσματα λέξεων-κλειδιών
Επιχειρήματα θέσης
Τα επιχειρήματα θέσης πρέπει να περάσουν με τη σωστή σειρά ορισμού. Για παράδειγμα, εάν ορίσετε μια συνάρτηση με παραμέτρους α, β, και ντο, πρέπει να μεταβιβάσετε τις τιμές για αυτές τις παραμέτρους ανάλογα όταν τις καλείτε. Ας εξετάσουμε ένα προηγούμενο παράδειγμα:
# Συνάρτηση Python για τον υπολογισμό του αθροίσματος τριών αριθμών
defυπολογισμός_αθροίσματος(α, β, γ):
ΕΠΙΣΤΡΟΦΗ α+β+γ
εκτύπωση (υπολογισμός_αθροίσματος(1,2,3)) # επιστρέφει 6
εκτύπωση (υπολογισμός_αθροίσματος(1000, 300,44)) # επιστρέφει 1344
εκτύπωση (υπολογισμός_αθροίσματος(12, 4,78)) # επιστρέφει 94
Στο παραπάνω πρόγραμμα, το υπολογισμός_άθροισμα() Η συνάρτηση παίρνει τρία ορίσματα όποτε την καλούμε. Κάθε όρισμα αντιπροσωπεύει μια αντίστοιχη παράμετρο. Στην πρώτη κλήση λειτουργίας, αριθμοί 1, 2, και 3 εκπροσωπώ α, β, και ντο αναλόγως.
Μια παράμετρος δηλώνεται στον ορισμό μιας συνάρτησης, ενώ ένα όρισμα είναι η τιμή που μεταβιβάζεται όταν καλείτε τη συνάρτηση Αυτή η τιμή είναι μια αναπαράσταση της αντίστοιχης παραμέτρου της.
Τα επιχειρήματα θέσεως είναι υποχρεωτικά. Εάν δεν τα προσθέσετε, θα λάβετε ένα Τυπογραφικό λάθος. Το παρακάτω παράδειγμα αποδεικνύει αυτό:
defυπολογισμός_αθροίσματος(α, β, γ):
ΕΠΙΣΤΡΟΦΗ α+β+γ
εκτύπωση (υπολογισμός_αθροίσματος(1,2)) # αυξάνει το TypeError
Όταν εκτελείτε το παραπάνω πρόγραμμα στον υπολογιστή σας, θα λάβετε ένα σφάλμα παρόμοιο με αυτό στην παρακάτω εικόνα:
Επιχειρήματα λέξεων-κλειδιών
Τα ορίσματα λέξεων-κλειδιών δεν χρειάζεται απαραίτητα να μεταβιβάζονται κάθε φορά που καλείτε μια συνάρτηση. Είναι προαιρετικά επιχειρήματα και δεν χρειάζεται να ακολουθήσουν συγκεκριμένη σειρά. Η Python μας επιτρέπει να χρησιμοποιήσουμε *args και **kwargs για να καθορίσετε ορίσματα λέξεων-κλειδιών.
Εκτός από τη χρήση *args και **kwargs, είναι επίσης δυνατό να καθορίσετε προεπιλεγμένες τιμές για τα ορίσματά σας. Κάνοντας αυτό δεν θα εμφανιστεί σφάλμα εάν ξεχάσετε να προσθέσετε μια τιμή κατά την κλήση της συνάρτησης. Αυτό το παράδειγμα δίνει μια απεικόνιση:
defυπολογισμός_αθροίσματος(α, β, γ=3):
ΕΠΙΣΤΡΟΦΗ α+β+γ
εκτύπωση (υπολογισμός_αθροίσματος(1,2)) # επιστρέφει 6
Στο παραπάνω πρόγραμμα, όταν υπολογισμός_άθροισμα() καλείται, δεν υπάρχει επιχείρημα για ντο; αυτό δεν θα επηρεάσει το πρόγραμμα γιατί ντο έχει ήδη μια προεπιλεγμένη τιμή. Μπορείτε να καθορίσετε προεπιλεγμένες τιμές για όσα ορίσματα θέλετε, αλλά φροντίστε να το κάνετε αυτό με σύνεση.
Χρησιμοποιήστε Λειτουργίες για να οργανώσετε τον κωδικό σας
Οι συναρτήσεις είναι χρήσιμες για την οργάνωση του κώδικά σας, καθιστώντας τον πιο ευανάγνωστο και αποτελεσματικό. Με τις λειτουργίες, μπορείτε να σπάσετε τον κώδικά σας σε μικρότερα, επαναχρησιμοποιήσιμα κομμάτια που είναι πιο εύκολο να κατανοηθούν και να διατηρηθούν. Επιπλέον, εάν πρέπει να κάνετε αλλαγές στον κώδικά σας, χρειάζεται μόνο να τροποποιήσετε την απαραίτητη λειτουργία και όχι ολόκληρη τη βάση κώδικα.