4.1.4 - Συναρτήσεις

Μην επαναλαμβάνεστε!

Οι συναρτήσεις (Functions) χρησιμοποιούνται για δύο λόγους. Πρώτον, κάνουν τον κώδικα πιο εύκολο να αναγνωσθεί και να κατανοηθεί. Δεύτερον, επιτρέπουν σε ένα τμήμα κώδικα να μπορεί να χρησιμοποιηθεί περισσότερες από μία φορές. Είστε ήδη εξοικειωμένοι με τις συναρτήσεις print() και input(). Η Python μας παρέχει αρκετές ενσωματωμένες συναρτήσεις όπως οι print() και input(), αλλά μπορούμε επίσης να γράψουμε τις δικές μας. Μία συνάρτηση είναι ένα μικρό πρόγραμμα μέσα σε ένα πρόγραμμα. Για να καταλάβουμε καλύτερα το πως δουλεύει μία συνάρτηση ας δημιουργήσουμε μία. Πληκτρολογήστε το παρακάτω στο Thonny και αποθηκεύστε το ως hello_func.

def hello(): print("Hi!") print("Hi!!!") print("Hello World.")

Πατήστε το πλήκτρο run και μετά γράψτε στην περιοχή εντολών 

>>> hello()
>>> hello()
>>> hello()

Με τον καθορισμό μίας συνάρτησης μπορούμε να κάνουμε το πρόγραμμα μας ευκολότερο στην ανάγνωση. Για να καθορίσουμε μία συνάρτηση αρχίζουμε με την εντολή def. Μετά το def ακολουθεί το όνομα της συνάρτησης. Σε αυτό το παράδειγμα την ονομάσαμε hello. Για τα ονόματα των συναρτήσεων χρησιμοποιούμε τους ίδιους κανόνες με αυτούς που αναφέραμε για τα ονόματα μεταβλητών.

Μετά το όνομα της συνάρτησης ακολουθεί υπάρχει ένα σετ από παρενθέσεις και μία άνω και κάτω τελεία. Όλες οι εντολές που υπάρχουν μέσα στην συνάρτηση πρέπει να είναι στοιχισμένες σωστά. Το τμήμα κώδικα που ακολουθεί τη δήλωση def ονομάζεται κυρίως σώμα της συνάρτησης. Αυτός ο κώδικας εκτελείτε όταν κληθεί η συνάρτηση και όχι όταν την ορίζουμε.

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

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

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