4.1 Ορισμός Συναρτήσεων στην Python

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

Ορισμός μιας Βασικής Συνάρτησης

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

Παράδειγμα Ορισμού Συνάρτησης

def square(number):
    """Υπολογίζει το τετράγωνο ενός αριθμού."""
    return number ** 2

# Κλήση της συνάρτησης
result = square(4)
print("Το τετράγωνο του 4 είναι:", result)

Στο παράδειγμα αυτό, η συνάρτηση square ορίζεται για να λαμβάνει έναν παράμετρο (number) και να επιστρέφει το τετράγωνο αυτού του αριθμού. Η συνάρτηση καλείται στη συνέχεια με την τιμή 4, και το αποτέλεσμα εμφανίζεται στην οθόνη.

Σχόλια Συναρτήσεων (Docstrings)

Το κείμενο μέσα σε τριπλά εισαγωγικά ("""Υπολογίζει το τετράγωνο ενός αριθμού.""") είναι ένα σχόλιο συνάρτησης (docstring), το οποίο παρέχει μια σύντομη περιγραφή του τι κάνει η συνάρτηση. Τα docstrings είναι μια καλή πρακτική στον προγραμματισμό και βοηθούν άλλους προγραμματιστές να καταλάβουν τον κώδικά σας.

Ορισμός μιας προσαρμοσμένης συνάρτησης στην python

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

Βασικά στοιχεία ορισμού συνάρτησης

  1. Εισαγωγή με το def: Κάθε ορισμός συνάρτησης ξεκινά με τη λέξη-κλειδί def, ακολουθούμενη από το όνομα της συνάρτησης.
  2. Όνομα Συνάρτησης: Το όνομα της συνάρτησης ακολουθεί τους κανόνες ονοματολογίας των μεταβλητών – ξεκινά με πεζό γράμμα και χρησιμοποιούνται κάτω παύλες για τη διαχώριση των λέξεων σε περίπτωση που το όνομα αποτελείται από πολλές λέξεις.
  3. Παρενθέσεις και Παράμετροι: Μετά το όνομα ακολουθούν οι παρενθέσεις, μέσα στις οποίες βρίσκεται η λίστα των παραμέτρων της συνάρτησης. Οι παράμετροι είναι τα δεδομένα που η συνάρτηση χρειάζεται για να εκτελέσει το καθήκον της.
  4. Μπλοκ Συνάρτησης: Οι εντολές της συνάρτησης ακολουθούν μετά τον χαρακτήρα του άνω και κάτω τελείας (:) και πρέπει να είναι εσοχής. Το μπλοκ ξεκινά με μια προαιρετική συμβολοσειρά εγγράφου (docstring) που εξηγεί τον σκοπό της συνάρτησης.
  5. Docstring: Ένας προαιρετικός, αλλά συνιστώμενος τρόπος, για να περιγράψετε τι κάνει η συνάρτηση. Χρησιμοποιείται για την τεκμηρίωση της συνάρτησης.
  6. Επιστροφή Αποτελέσματος: Η δήλωση return χρησιμοποιείται για να επιστρέψει μια τιμή στον καλούντα της συνάρτησης. Αν δεν υπάρχει δήλωση return ή είναι return χωρίς έκφραση, η συνάρτηση επιστρέφει None.

Παράδειγμα Ορισμού και Χρήσης Συνάρτησης

def square(number):
    """Υπολογίζει το τετράγωνο

 ενός αριθμού."""
    return number ** 2

# Κλήση της συνάρτησης
result = square(7)
print("Το τετράγωνο του 7 είναι:", result)

Στο παράδειγμα αυτό, η συνάρτηση square δέχεται έναν αριθμό (number) και επιστρέφει το τετράγωνό του. Η συνάρτηση καλείται με τον αριθμό 7, και το αποτέλεσμα εκτυπώνεται στην οθόνη.

Τοπικές Μεταβλητές στις Συναρτήσεις της Python

Στις συναρτήσεις της Python, οι τοπικές μεταβλητές παίζουν ένα σημαντικό ρόλο. Οι τοπικές μεταβλητές αναφέρονται στις μεταβλητές που δημιουργούνται εντός του μπλοκ της συνάρτησης και είναι προσβάσιμες μόνο εντός αυτής της συνάρτησης. Υπάρχουν δύο βασικοί τύποι τοπικών μεταβλητών:

  1. Παράμετροι της Συνάρτησης: Οι παράμετροι που ορίζονται στην επικεφαλίδα της συνάρτησης είναι τοπικές μεταβλητές. Είναι διαθέσιμες για χρήση μέσα στο μπλοκ της συνάρτησης.
  2. Μεταβλητές Ορισμένες Εντός της Συνάρτησης: Οι μεταβλητές που ορίζονται εντός του μπλοκ της συνάρτησης (δηλαδή μετά την επικεφαλίδα της συνάρτησης) είναι επίσης τοπικές. Μπορούν να χρησιμοποιηθούν μόνο εντός του μπλοκ της συνάρτησης και δεν είναι προσβάσιμες από άλλα μέρη του κώδικα.

Παράδειγμα Τοπικών Μεταβλητών

def square(number):
    """Υπολογίζει το τετράγωνο ενός αριθμού."""
    result = number ** 2  # Τοπική μεταβλητή 'result'
    return result

# Κλήση της συνάρτησης
print(square(4))

# Προσπάθεια πρόσβασης στην τοπική μεταβλητή 'result' εκτός της συνάρτησης
# print(result)  # Αυτό θα προκαλέσει NameError

Στο παράδειγμα αυτό, η μεταβλητή result είναι τοπική στη συνάρτηση square. Αν προσπαθήσουμε να αποκτήσουμε πρόσβαση στην result εκτός της συνάρτησης square, θα λάβουμε ένα σφάλμα NameError, επειδή η result δεν υπάρχει εκτός της σκοπιάς της συνάρτησης.

Σημασία των Τοπικών Μεταβλητών

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

Πρόσβαση στο Docstring μιας Συνάρτησης μέσω του Μηχανισμού Βοήθειας του IPython

Το IPython παρέχει έναν πρακτικό μηχανισμό για να μάθετε περισσότερα για τις μονάδες και τις συναρτήσεις που σκοπεύετε να χρησιμοποιήσετε στον κώδικά σας. Αυτός ο μηχανισμός είναι ιδιαίτερα χρήσιμος για την πρόσβαση σε docstrings, οι οποίες παρέχουν περιγραφές και οδηγίες χρήσης για συγκεκριμένες συναρτήσεις.

Πώς να Ανακαλύψετε το Docstring μιας Συνάρτησης

Για να δείτε το docstring μιας συνάρτησης στο IPython, απλώς πληκτρολογήστε το όνομα της συνάρτησης ακολουθούμενο από ένα ερωτηματικό (?). Για παράδειγμα, για τη συνάρτηση square που ορίσατε, μπορείτε να γράψετε:

square?

Τα στοιχεία που θα εμφανιστούν περιλαμβάνουν:

  • Το όνομα της συνάρτησης και τη λίστα των παραμέτρων της, γνωστή ως υπογραφή (signature).
  • Το docstring της συνάρτησης.
  • Το όνομα του αρχείου που περιέχει τον ορισμό της συνάρτησης.
  • Τον τύπο του αντικειμένου για το οποίο είχατε πρόσβαση στο μηχανισμό βοήθειας του IPython (σε αυτή την περίπτωση, μια συνάρτηση).

Προβολή Πλήρους Κώδικα Πηγής με ??

Εάν ο πλήρης κώδικας πηγής της συνάρτησης είναι προσβάσιμος από το IPython – όπως μια συνάρτηση που ορίστηκε στην τρέχουσα συνεδρία ή εισήχθη στη συνεδρία από ένα αρχείο .py – μπορείτε να χρησιμοποιήσετε ?? για να προβάλετε τον πλήρη ορισμό της συνάρτησης:

square??

Αν ο κώδικας πηγής δεν είναι προσβάσιμος από το IPython, το ?? απλώς εμφανίζει το docstring.

Πλοήγηση στο Docstring

Αν το docstring είναι πολύ μεγάλο για να χωρέσει στο παράθυρο, το IPython εμφανίζει έναν χαρακτήρα : στο κάτω μέρος του παραθύρου, υποδεικνύοντας ότι υπάρχουν περισσότερα να εμφανιστούν. Μπορείτε να πατήσετε το πλήκτρο Διαστήματος για να προβάλετε την επόμενη οθόνη. Μπορείτε επίσης να πλοηγηθείτε προς τα εμπρός και προς τα πίσω με τα πλήκτρα βέλους πάνω και κάτω, αντίστοιχα. Όταν φτάσετε στο τέλος του docstring, το IPython εμφανίζει την ένδειξη (END). Πατήστε το πλήκτρο q (για “quit”) σε οποιοδήποτε σημείο : ή στην ένδειξη (END) για να επιστρέψετε στην επόμενη προτροπή εισόδου In [].

Ορισμός Συνάρτησης με Πολλαπλούς Παραμέτρους στην Python

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

Παράδειγμα Ορισμού Συνάρτησης

def maximum(value1, value2, value3):
    """Επιστρέφει τη μεγαλύτερη τιμή από τρεις τιμές."""
    max_value = value1
    if value2 > max_value:
        max_value = value2
    if value3 > max_value:
        max_value = value3
    return max_value

# Κλήση της συνάρτησης με διάφορες τιμές
print(maximum(12, 27, 36))           # Με ακέραιους αριθμούς
print(maximum(12.3, 24.5, 18.2))     # Με δεκαδικούς αριθμούς
print(maximum("apple", "pear", "orange"))  # Με συμβολοσειρές

Πώς Λειτουργεί η Συνάρτηση

  1. Δήλωση της Συνάρτησης: Η συνάρτηση maximum ορίζεται με τρεις παραμέτρους: value1, value2, και value3.
  2. Εύρεση της Μέγιστης Τιμής: Αρχικά, η μεταβλητή max_value ορίζεται να είναι ίση με το value1. Στη συνέχεια, γίνονται συγκρίσεις για να διαπιστωθεί αν το value2 ή το value3 είναι μεγαλύτερο από την τρέχουσα μέγιστη τιμή.
  3. Επιστροφή της Μέγιστης Τιμής: Η συνάρτηση τελικά επιστρέφει τη μεγαλύτερη τιμή ανάμεσα στις τρεις.

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

Χρήση των Ενσωματωμένων Συναρτήσεων max και min της Python

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

Συνάρτηση max

Η συνάρτηση max επιστρέφει τη μεγαλύτερη τιμή από τα δεδομένα ορίσματα. Μπορεί να δεχτεί ατομικές τιμές ως ορίσματα ή ένα iterable (όπως λίστα ή συμβολοσειρά).

Παράδειγμα Χρήσης της max

print(max(3, 7, 2))  # Ατομικές τιμές
print(max([14, 27, 5, 3]))  # Λίστα
print(max("orange"))  # Συμβολοσειρά

Συνάρτηση min

Η συνάρτηση min λειτουργεί αντίστοιχα, επιστρέφοντας τη μικρότερη τιμή από τα δεδομένα ορίσματα ή ένα iterable.

Παράδειγμα Χρήσης της min

print(min(3, 7, 2))  # Ατομικές τιμές
print(min([14, 27, 5, 3]))  # Λίστα
print(min("orange"))  # Συμβολοσειρά

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

10 Ιανουαρίου, 2024
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων