Μάθημα : Προγραμματισμός στην Python
Ενότητα 5 - Συναρτήσεις και Παραμετρικές Συναρτήσεις
- Την έννοια της Συνάρτησης (Function): Γιατί ομαδοποιούμε τον κώδικα σε μικρά, αυτόνομα κομμάτια και πώς μια συνάρτηση μοιάζει με μια επαναχρησιμοποιήσιμη συνταγή μαγειρικής ή με τις οδηγίες ενός ρομπότ υποδοχής.
- Τη λέξη-κλειδί
def: Το μυστικό για να δηλώνουμε σωστά μια συνάρτηση και πώς να την «καλούμε» να εκτελεστεί όποτε τη χρειαζόμαστε. - Τις Παραμετρικές Συναρτήσεις: Πώς φτιάχνουμε δυναμικές εντολές που δέχονται διαφορετικά δεδομένα (παραμέτρους) στην είσοδό τους για να προσαρμόζουν τη συμπεριφορά τους (όπως το να χαιρετάνε έναν χρήστη με το δικό του όνομα).
- Την εντολή επιστροφής τιμής
return: Πώς μια συνάρτηση μπορεί να εκτελεί έναν υπολογισμό και να μας «δίνει» πίσω το έτοιμο αποτέλεσμα για να το αποθηκεύσουμε σε μια μεταβλητή.
Οργάνωση του κώδικα με τις συναρτήσεις
Οι συναρτήσεις αποτελούν βασικό εργαλείο στον προγραμματισμό, καθώς μας επιτρέπουν να οργανώνουμε τον κώδικα σε μικρά, αυτόνομα τμήματα που εκτελούν μια συγκεκριμένη εργασία. Μια συνάρτηση είναι ένα μπλοκ επαναχρησιμοποιήσιμου κώδικα: ορίζεται μία φορά και μπορεί να χρησιμοποιηθεί όσες φορές χρειάζεται, κάνοντας τα προγράμματα πιο καθαρά, πιο εύκολα στη διαχείριση και πιο αποτελεσματικά.
Συναρτήσεις στην Python
greet. Αυτή η συνάρτηση καλωσορίζει τον κόσμο λέγοντας: «Καλώς ορίσατε! Καλά ψώνια, να έχετε μια καλή ημέρα!».greet γραμμένη στην Python: # Ορισμός της συνάρτησης
def greet():
print("Καλώς ορίσατε!")
print ("Καλά ψώνια, να έχετε μια καλή ημέρα!")
# Κλήση της συνάρτησης
greet()
Κανόνας Σύνταξης: Για να δημιουργήσουμε μια συνάρτηση, ξεκινάμε με τη λέξη-κλειδί def (από το define) και βάζουμε παρενθέσεις και άνω-κάτω τελεία (:). Όλες οι οδηγίες που βρίσκονται μέσα στη συνάρτηση πρέπει να έχουν εσοχή προς τα δεξιά.
Παραμετρικές συναρτήσεις στην Python
greet_person. Αυτή η λειτουργία θα δέχεται το όνομα ενός ατόμου ως είσοδο (παράμετρο) και στη συνέχεια θα το χαιρετάει προσωπικά. Έτσι, εάν καλέσετε το greet_person('Μαρία'), η συνάρτηση θα εμφανίσει "Γεια σου, Μαρία!". Εάν καλέσετε το greet_person('Γιάννη'), θα εμφανίσει "Γεια σου, Γιάννη!".Ακολουθεί η συνάρτηση greet_person γραμμένη στην Python:
def greet_person(name):
print("Γειά σου, " + name + "!")
# Καλούμε τη συνάρτηση δίνοντας κάθε φορά άλλη παράμετρο
greet_person("Μαρία")
greet_person("Γιάννη")
Ας δούμε ένα άλλο παράδειγμα: μια συνάρτηση που ονομάζεται multiply_numbers. Αυτή η συνάρτηση παίρνει δύο αριθμούς ως είσοδο, τους πολλαπλασιάζει μεταξύ τους και, χρησιμοποιώντας την εντολή return, μας επιστρέφει το αποτέλεσμα για να το αποθηκεύσουμε. Έτσι, εάν θέλετε να πολλαπλασιάσετε το 3 και το 4, μπορείτε απλώς να καλέσετε τη συνάρτηση multiply_numbers(3,4). και θα επιστρέψει 12.
def multiply_numbers(num1, num2):
return num1 * num2
# Καλούμε τη συνάρτηση και αποθηκεύουμε το αποτέλεσμα στο product
product = multiply_numbers(3,4)
print(product)
Παραδείγματα συναρτήσεων στην Python
Ας δούμε μερικά παραδείγματα για το πώς οι συναρτήσεις μάς λύνουν τα χέρια:
1. Πρόσθεση δύο αριθμών
def add_numbers(num1, num2):
return num1 + num2
# Παράδειγμα κλήσης
print(add_numbers(10,5))
Αυτή η συνάρτηση προσθέτει δύο αριθμούς μαζί. Στο παράδειγμά μας, δινοντας τους αριθμούς 10 και 5 το αποτέλεσμα θα είναι 15.
2. Υπολογισμός Εμβαδού Κύκλου
def calculate_circle_area(radius):
return 3.14 * radius * radius
# Παράδειγμα κλήσης
print(calculate_circle_area(2))
Αυτή η συνάρτηση υπολογίζει το εμβαδόν ενός κύκλου με βάση την ακτίνα του. Στο παράδειγμά μας η ακτίνα είναι 2 και το αποτέλεσμα θα είναι 12,56
3. Έλεγχος Άρτιων - Περιττών (Μονός - Ζυγός)
def check_even_odd(num):
if num % 2 == 0:
return "Άρτιος"
else:
return "Περιττός"
# Παράδειγμα κλήσης
print(check_even_odd(7))
Αυτή η συνάρτηση καθορίζει εάν ένας αριθμός είναι άρτιος ή περιττός. Στο παράδειγμα μας ελέγχει τον αριθμό 7 και εμφανίζει "Περιττός".
4. Παραγοντικό:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
# Παράδειγμα κλήσης για το 4 παραγοντικό
print(factorial(4))
Αυτή η συνάρτηση υπολογίζει το παραγοντικό ενός αριθμού. Στο συγκεκριμένο παράδειγμα για το παραγοντικό του 4 (γράφετε 4!) το αποτέλεσμα θα είναι 1*2*3*4 = 24).
5. Μέγιστος Κοινός Διαιρέτης:
def find_mkd(x, y):
while y:
t = y
y = x % y
x = t
return x
# Παράδειγμα κλήσης για δοκιμή
print(find_mkd(48,18))
Αυτή η συνάρτηση βρίσκει τον μεγαλύτερο κοινό διαιρέτη δύο αριθμών. Στο συγκεκριμένο παράδειγμα των αριθμών 48 και 18 το αποτέλεσμα θα είναι 6.
Υλοποίηση προγράμματος Python με χρήση συναρτήσεων
Ας δούμε πώς μπορούμε να συνδυάσουμε τις συναρτήσεις με όσα μάθαμε στα προηγούμενα μαθήματα (όπως την input() και το float()), φτιάχνοντας ένα πρόγραμμα που υπολογίζει τον μέσο όρο τριών αριθμών:
# 1. Ορίζουμε τη συνάρτηση υπολογισμού
def calculate_average(num1, num2, num3):
return (num1 + num2 + num3) / 3
# 2. Λήψη πληροφοριών από το χρήστη
number1 = float(input("Δώσε τον πρώτο αριθμό: "))
number2 = float(input("Δώσε το δεύτερο αριθμό: "))
number3 = float(input("Δώσε τον τρίτο αριθμό: "))
# 3. Κλήση της συνάρτησης και αποθήκευση του αποτελέσματος
average = calculate_average(number1, number2, number3)
# 4. Εμφάνιση του τελικού αποτελέσματος
print("Ο μέσος όρος των τριών αριθμών είνα:", average)
Στο παραπάνω πρόγραμμα, η συνάρτηση calculate_average() αναλαμβάνει αποκλειστικά το μαθηματικό κομμάτι. Εμείς ζητάμε τους αριθμούς από τον χρήστη, τους «δίνουμε» στη συνάρτηση και εκείνη μας επιστρέφει έτοιμο τον μέσο όρο για να τον τυπώσουμε!