Πώς να καλέσετε μια συνάρτηση Python (Παράδειγμα)
⚡ Έξυπνη Σύνοψη
Λειτουργίες σε Python είναι επαναχρησιμοποιήσιμα μπλοκ κώδικα που εκτελούνται όταν καλούνται, ορίζονται με την πρόταση def. Δέχονται ορίσματα, επιστρέφουν τιμές και βασίζονται σε συνεπή εσοχή για να ομαδοποιήσουν τις προτάσεις που ανήκουν σε κάθε συνάρτηση.

Σε τι είναι η Λειτουργία Python?
A Λειτουργία σε Python είναι ένα κομμάτι κώδικα που εκτελείται όταν γίνεται αναφορά σε αυτό. Χρησιμοποιείται για τη χρήση του κώδικα σε περισσότερα από ένα σημεία ενός προγράμματος. Ονομάζεται επίσης μέθοδος ή διαδικασία. Python Παρέχει πολλές ενσωματωμένες συναρτήσεις όπως print(), input(), compile() και exec(), αλλά σας δίνει επίσης την ελευθερία να δημιουργήσετε τις δικές σας συναρτήσεις.
Πώς να ορίσετε και να καλέσετε μια συνάρτηση Python
Μια συνάρτηση σε Python ορίζεται από την εντολή “def” ακολουθούμενη από το όνομα της συνάρτησης και παρενθέσεις (()).
Παράδειγμα:
Ας ορίσουμε μια συνάρτηση χρησιμοποιώντας την εντολή “def func1():” και ας καλέσουμε τη συνάρτηση. Η έξοδος της συνάρτησης θα είναι “Μαθαίνω Python λειτουργία".
Η κλήση της συνάρτησης func1() καλεί την def func1(): και τυπώνει την εντολή "Μαθαίνω Python λειτουργία Καμία.
Υπάρχει ένα σύνολο κανόνων στο Python προγραμματισμού για να ορίσετε μια συνάρτηση.
- Οποιαδήποτε ορίσματα ή παράμετροι εισόδου θα πρέπει να τοποθετούνται εντός αυτών των παρενθέσεων.
- Η πρώτη πρόταση της συνάρτησης μπορεί να είναι μια προαιρετική πρόταση — η συμβολοσειρά docstring ή η συμβολοσειρά τεκμηρίωσης της συνάρτησης.
- Ο κώδικας σε κάθε συνάρτηση ξεκινά με άνω και κάτω τελεία (:) και θα πρέπει να έχει εσοχή (κενό).
- Η εντολή return (έκφραση) τερματίζει μια συνάρτηση, προαιρετικά επιστρέφοντας μια τιμή στον καλούντα. Μια εντολή return χωρίς ορίσματα είναι η ίδια με την εντολή return None.
Σημασία της εσοχής (Διάστημα) σε Python
Πριν εξοικειωθούμε με Python λειτουργίες, είναι σημαντικό να κατανοήσουμε τον κανόνα της εσοχής που πρέπει να δηλώσουμε Python λειτουργίες, και αυτοί οι κανόνες ισχύουν και για άλλα στοιχεία του Python καθώς και, όπως η δήλωση συνθηκών, βρόχων ή μεταβλητών.
Python ακολουθεί ένα συγκεκριμένο στυλ εσοχής για να ορίσει τον κώδικα. Δεδομένου ότι Python Οι συναρτήσεις δεν έχουν σαφή αρχή ή τέλος, όπως οι αγκύλες, για να υποδεικνύουν την έναρξη και το τέλος της συνάρτησης, επομένως πρέπει να βασίζονται σε αυτήν την εσοχή. Εδώ θα πάρουμε ένα απλό παράδειγμα με την εντολή "print". Όταν γράφουμε τη συνάρτηση "print" ακριβώς κάτω από τη γραμμή def func1():, θα εμφανιστεί ένα "σφάλμα εσοχής: αναμενόταν ένα μπλοκ με εσοχή".
Τώρα, όταν προσθέτετε την εσοχή (κενό) μπροστά από τη συνάρτηση "εκτύπωση", θα πρέπει να εκτυπώνεται όπως αναμένεται.
Τουλάχιστον μία εσοχή είναι αρκετή για να λειτουργήσει ο κώδικά σας με επιτυχία. Ωστόσο, ως βέλτιστη πρακτική, συνιστάται να αφήνετε περίπου 3-4 κενά εσοχής για να καλέσετε τη συνάρτησή σας.
Είναι επίσης απαραίτητο, κατά τη δήλωση εσοχής, να διατηρείτε την ίδια εσοχή για τον υπόλοιπο κώδικά σας. Για παράδειγμα, στο παρακάτω στιγμιότυπο οθόνης, όταν καλούμε μια άλλη πρόταση "still in func1" και δεν δηλώνεται ακριβώς κάτω από την πρώτη πρόταση εκτύπωσης, θα εμφανιστεί ένα σφάλμα εσοχής: "unindent does not match any other indentation level".
Τώρα, όταν εφαρμόζουμε την ίδια εσοχή και για τις δύο εντολές και τις ευθυγραμμίζουμε στην ίδια γραμμή, δίνεται το αναμενόμενο αποτέλεσμα.
Πώς επιστρέφει η συνάρτηση;
Η εντολή return στο Python καθορίζει ποια τιμή θα επιστρέψει στον καλούντα της συνάρτησης. Ας το κατανοήσουμε αυτό με το ακόλουθο παράδειγμα.
Βήμα 1) Η συνάρτηση δεν επιστρέφει τίποτα
Εδώ βλέπουμε πότε μια συνάρτηση δεν «επιστρέφει». Για παράδειγμα, θέλουμε το τετράγωνο του 4 και θα πρέπει να δίνει την απάντηση «16» όταν εκτελείται ο κώδικας. Το δίνει αυτό όταν χρησιμοποιούμε απλώς τον κώδικα «print x*x», αλλά όταν καλείτε τη συνάρτηση «print square» δίνει «None» ως έξοδο. Αυτό συμβαίνει επειδή όταν καλείτε τη συνάρτηση, η αναδρομή δεν συμβαίνει και πέφτει στο τέλος της συνάρτησης. Python επιστρέφει «Καμία» αν δεν βρίσκεται στο τέλος της συνάρτησης.
Βήμα 2) Αντικαταστήστε την εντολή εκτύπωσης με μια εντολή ανάθεσης
Για να το κάνουμε αυτό πιο σαφές, αντικαθιστούμε την εντολή εκτύπωσης με μια εντολή ανάθεσης. Ας ελέγξουμε την έξοδο.
Όταν εκτελείτε την εντολή "print square (4)", στην πραγματικότητα επιστρέφει την τιμή του αντικειμένου. Δεδομένου ότι δεν έχουμε κάποια συγκεκριμένη συνάρτηση για να εκτελέσουμε εδώ, επιστρέφει "None".
Βήμα 3) Χρησιμοποιήστε τη συνάρτηση 'return' και εκτελέστε τον κώδικα
Τώρα, εδώ θα δούμε πώς να ανακτήσουμε την έξοδο χρησιμοποιώντας την εντολή "return". Όταν χρησιμοποιείτε τη συνάρτηση "return" και εκτελείτε τον κώδικα, θα δώσει την έξοδο "16".
Βήμα 4) Εκτελέστε την εντολή "print Square"
Λειτουργίες σε Python είναι οι ίδιοι ένα αντικείμενο και ένα αντικείμενο έχει κάποια αξία. Εδώ θα δούμε πώς Python αντιμετωπίζει ένα αντικείμενο. Όταν εκτελείτε την εντολή "print square", επιστρέφει την τιμή του αντικειμένου. Δεδομένου ότι δεν έχουμε περάσει κανένα όρισμα, δεν έχουμε κάποια συγκεκριμένη συνάρτηση για να εκτελέσουμε εδώ, επομένως επιστρέφει μια προεπιλεγμένη τιμή (0x021B2D30) η οποία είναι η τοποθεσία του αντικειμένου. Σε μια πρακτική Python πρόγραμμα, πιθανότατα δεν θα χρειαστεί ποτέ να το κάνετε αυτό.
Επιχειρήματα στις συναρτήσεις
Ένα όρισμα είναι μια τιμή που μεταβιβάζεται στη συνάρτηση όταν καλείται.
Με άλλα λόγια, από την πλευρά της κλήσης είναι ένα όρισμα και από την πλευρά της συνάρτησης είναι μια παράμετρος.
Ας δούμε πώς Python τα επιχειρήματα λειτουργούν.
Βήμα 1) Τα ορίσματα δηλώνονται στον ορισμό της συνάρτησης. Κατά την κλήση της συνάρτησης, μπορείτε να περάσετε τις τιμές για αυτά τα ορίσματα όπως φαίνεται παρακάτω.
Βήμα 2) Για να δηλώσετε μια προεπιλεγμένη τιμή για ένα όρισμα, αντιστοιχίστε του μια τιμή στον ορισμό της συνάρτησης.
Παράδειγμα: Το x δεν έχει προεπιλεγμένη τιμή. Η προεπιλεγμένη τιμή είναι y=0. Όταν παρέχουμε μόνο ένα όρισμα κατά την κλήση της συνάρτησης πολλαπλασιασμού, Python αντιστοιχίζει την παρεχόμενη τιμή στο x ενώ διατηρείping η τιμή του y=0. Επομένως, ο πολλαπλασιασμός του x*y=0.
Βήμα 3) Αυτή τη φορά θα αλλάξουμε την τιμή σε y=2 αντί για την προεπιλεγμένη τιμή y=0, και θα επιστρέψει την έξοδο ως (4×2)=8.
Βήμα 4) Μπορείτε επίσης να αλλάξετε τη σειρά με την οποία περνούν τα ορίσματα στο PythonΕδώ έχουμε αντιστρέψει τη σειρά των τιμών x και y σε x=4 και y=2.
Βήμα 5) Πολλαπλά ορίσματα μπορούν επίσης να περαστούν ως πίνακας. Εδώ στο παράδειγμα καλούμε τα πολλαπλά ορίσματα (1,2,3,4,5) καλώντας τη συνάρτηση (*args).
Παράδειγμα: Δηλώσαμε πολλαπλά ορίσματα ως αριθμούς (1,2,3,4,5). Όταν καλούμε τη συνάρτηση (*args), αυτή εκτυπώνει την έξοδο ως (1,2,3,4,5).
Συμβουλές:
- In Python 2.7, η υπερφόρτωση συναρτήσεων δεν υποστηρίζεται. Η υπερφόρτωση συναρτήσεων είναι η δυνατότητα δημιουργίας πολλαπλών μεθόδων με το ίδιο όνομα με διαφορετική υλοποίηση. Η υπερφόρτωση συναρτήσεων υποστηρίζεται πλήρως στο Python 3.
- Υπάρχει αρκετή σύγχυση μεταξύ μεθόδων και συναρτήσεων. Μέθοδοι σε Python σχετίζονται με στιγμιότυπα αντικειμένων, ενώ οι συναρτήσεις όχι. Όταν Python καλεί μια μέθοδο, δεσμεύει την πρώτη παράμετρο αυτής της κλήσης στην κατάλληλη αναφορά αντικειμένου. Με απλά λόγια, μια αυτόνομη λειτουργία μέσα Python είναι μια "συνάρτηση", ενώ μια συνάρτηση που είναι ένα χαρακτηριστικό μιας κλάσης ή ενός στιγμιότυπου είναι μια "μέθοδος".
Εδώ είναι το πλήρες Python Κωδικός 3
#define a function
def func1():
print ("I am learning Python function")
print ("still in func1")
func1()
def square(x):
return x*x
print(square(4))
def multiply(x,y=0):
print("value of x=",x)
print("value of y=",y)
return x*y
print(multiply(y=2,x=4))
Εδώ είναι το πλήρες Python Κωδικός 2
#define a function
def func1():
print " I am learning Python function"
print " still in func1"
func1()
def square(x):
return x*x
print square(4)
def multiply(x,y=0):
print"value of x=",x
print"value of y=",y
return x*y
print multiply(y=2,x=4)














