Πώς να καλέσετε μια συνάρτηση Python (Παράδειγμα)

Σε τι είναι η Λειτουργία Python?

A Λειτουργία σε Python είναι ένα κομμάτι κώδικα που εκτελείται όταν γίνεται αναφορά. Χρησιμοποιείται για τη χρήση του κώδικα σε περισσότερα από ένα σημεία σε ένα πρόγραμμα. Ονομάζεται επίσης μέθοδος ή διαδικασία. Python παρέχει πολλές ενσωματωμένες λειτουργίες όπως print(), input(), compile(), exec(), κ.λπ., αλλά δίνει επίσης την ελευθερία να δημιουργήσετε τις δικές σας συναρτήσεις.

Πώς να ορίσετε και να καλέσετε μια συνάρτηση Python

Λειτουργία σε Python ορίζεται από το “def” δήλωση ακολουθούμενη από το όνομα της συνάρτησης και τις παρενθέσεις ( () )

Παράδειγμα:

Ας ορίσουμε μια συνάρτηση χρησιμοποιώντας την εντολή “def func1():” και καλούμε τη συνάρτηση. Η έξοδος της συνάρτησης θα είναι «Μαθαίνω Python λειτουργία".

Καθορισμός και κλήση μιας συνάρτησης Python

η λειτουργία print func1() καλεί το def func1(): και εκτυπώστε την εντολή " μαθαίνω Python λειτουργία Καμία."

Υπάρχει ένα σύνολο κανόνων σε Python για να ορίσετε μια συνάρτηση.

  • Τυχόν args ή παράμετροι εισαγωγής θα πρέπει να τοποθετούνται μέσα σε αυτές τις παρενθέσεις
  • Η πρώτη δήλωση συνάρτησης μπορεί να είναι μια προαιρετική συμβολοσειρά δήλωσης-docstring ή η συμβολοσειρά τεκμηρίωσης της συνάρτησης
  • Ο κώδικας σε κάθε συνάρτηση ξεκινά με άνω και κάτω τελεία (:) και πρέπει να έχει εσοχή (κενό)
  • Η επιστροφή (έκφραση) δήλωσης εξέρχεται από μια συνάρτηση, προαιρετικά επιστρέφοντας μια τιμή στον καλούντα. Μια δήλωση επιστροφής χωρίς args είναι η ίδια με την επιστροφή Κανένα.

Σημασία της εσοχής (Διάστημα) σε Python

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

Python ακολουθεί ένα συγκεκριμένο στυλ εσοχής για τον ορισμό του κώδικα, αφού Python οι συναρτήσεις δεν έχουν ξεκάθαρη αρχή ή τέλος όπως τα σγουρά άγκιστρα για να υποδεικνύουν την αρχή και το τέλος για τη συνάρτηση, πρέπει να βασίζονται σε αυτήν την εσοχή. Εδώ παίρνουμε ένα απλό παράδειγμα με την εντολή "print". Όταν γράφουμε τη συνάρτηση «εκτύπωση» ακριβώς κάτω από τη λειτουργία def 1 (): Θα εμφανίσει ένα «Σφάλμα εσοχής: αναμενόταν ένα μπλοκ με εσοχή".

Καθορισμός και κλήση μιας συνάρτησης Python

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

Καθορισμός και κλήση μιας συνάρτησης Python

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

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

Καθορισμός και κλήση μιας συνάρτησης Python

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

Καθορισμός και κλήση μιας συνάρτησης Python

Πώς επιστρέφει η συνάρτηση;

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

Βήμα 1) Η συνάρτηση δεν επιστρέφει τίποτα

Εδώ – βλέπουμε πότε η συνάρτηση δεν είναι "return". Για παράδειγμα, θέλουμε το τετράγωνο του 4 και θα πρέπει να απαντήσει "16" όταν εκτελείται ο κώδικας. Το οποίο δίνει όταν χρησιμοποιούμε απλώς τον κωδικό "print x*x", αλλά όταν καλείτε τη συνάρτηση "print Square" δίνει "None" ως έξοδο. Αυτό συμβαίνει επειδή όταν καλείτε τη συνάρτηση, δεν συμβαίνει αναδρομή και πέφτει από το τέλος της συνάρτησης. Python επιστρέφει "Καμία" για αστοχία στο τέλος της λειτουργίας.

Συνάρτηση Επιστρεφόμενη τιμή

Βήμα 2) Αντικαταστήστε την εντολή εκτύπωσης με την εντολή εκχώρησης

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

Συνάρτηση Επιστρεφόμενη τιμή

Όταν εκτελείτε την εντολή "print Square (4)" επιστρέφει στην πραγματικότητα την τιμή του αντικειμένου αφού δεν έχουμε κάποια συγκεκριμένη συνάρτηση για εκτέλεση εδώ, επιστρέφει "Καμία".

Βήμα 3) Χρησιμοποιήστε τη λειτουργία 'return' και εκτελέστε τον κώδικα

Τώρα, εδώ θα δούμε πώς να ανακτήσετε την έξοδο χρησιμοποιώντας την εντολή "return". Όταν χρησιμοποιείτε τη συνάρτηση "επιστροφή" και εκτελέσετε τον κώδικα, θα δώσει την έξοδο "16".

Συνάρτηση Επιστρεφόμενη τιμή

Βήμα 4) Εκτελέστε την εντολή "print Square"

Λειτουργίες σε Python είναι οι ίδιοι ένα αντικείμενο και ένα αντικείμενο έχει κάποια αξία. Εδώ θα δούμε πώς Python μεταχειρίζεται ένα αντικείμενο. Όταν εκτελείτε την εντολή "print Square" επιστρέφει την τιμή του αντικειμένου. Δεδομένου ότι δεν έχουμε περάσει κανένα όρισμα, δεν έχουμε κάποια συγκεκριμένη συνάρτηση για εκτέλεση εδώ, επιστρέφει μια προεπιλεγμένη τιμή (0x021B2D30) που είναι η θέση του αντικειμένου. Στην πράξη Python πρόγραμμα, πιθανότατα δεν θα χρειαστεί ποτέ να το κάνετε αυτό.

Συνάρτηση Επιστρεφόμενη τιμή

Επιχειρήματα στις συναρτήσεις

Το όρισμα είναι μια τιμή που μεταβιβάζεται στη συνάρτηση όταν καλείται.

Με άλλα λόγια στην πλευρά που καλεί, είναι ένα όρισμα και στην πλευρά της συνάρτησης είναι μια παράμετρος.

Ας δούμε πώς Python Το Args λειτουργεί -

Βήμα 1) Τα ορίσματα δηλώνονται στον ορισμό της συνάρτησης. Κατά την κλήση της συνάρτησης, μπορείτε να μεταβιβάσετε τις τιμές για αυτά τα args όπως φαίνεται παρακάτω

Επιχειρήματα στις συναρτήσεις

Βήμα 2) Για να δηλώσετε μια προεπιλεγμένη τιμή ενός ορίσματος, αντιστοιχίστε του μια τιμή στον ορισμό της συνάρτησης.

Επιχειρήματα στις συναρτήσεις

Παράδειγμα: Το x δεν έχει προεπιλεγμένες τιμές. Προεπιλεγμένες τιμές y=0. Όταν παρέχουμε μόνο ένα όρισμα ενώ καλούμε τη συνάρτηση πολλαπλασιασμού, Python εκχωρεί την παρεχόμενη τιμή στο x ενώ διατηρεί την τιμή του y=0. Εξ ου και ο πολλαπλασιασμός του x*y=0

ορίστε και καλέστε μια συνάρτηση Python

Βήμα 3) Αυτή τη φορά θα αλλάξουμε την τιμή σε y=2 αντί για την προεπιλεγμένη τιμή y=0 και θα επιστρέψει την έξοδο ως (4×2)=8.

Επιχειρήματα στις συναρτήσεις

Βήμα 4) Μπορείτε επίσης να αλλάξετε τη σειρά με την οποία μπορούν να μεταβιβαστούν τα ορίσματα Python. Εδώ έχουμε αντιστρέψει τη σειρά των τιμών x και y σε x=4 και y=2.

Επιχειρήματα στις συναρτήσεις

Βήμα 5) Πολλαπλά ορίσματα μπορούν επίσης να περάσουν ως πίνακας. Εδώ στο παράδειγμα καλούμε τα πολλαπλά args (1,2,3,4,5) καλώντας τη συνάρτηση (*args).

Παράδειγμα: Δηλώσαμε πολλαπλά args ως αριθμό (1,2,3,4,5) όταν καλούμε τη συνάρτηση (*args). εκτυπώνει την έξοδο ως (1,2,3,4,5)

Επιχειρήματα στις συναρτήσεις

Συμβουλές:

  • In Python 2.7. υπερφόρτωση λειτουργίας δεν υποστηρίζεται σε Python. Υπερφόρτωση συνάρτησης είναι η δυνατότητα δημιουργίας πολλαπλών μεθόδων με το ίδιο όνομα με διαφορετική υλοποίηση. Η λειτουργία Υπερφόρτωση υποστηρίζεται πλήρως 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)

Σύνοψη

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

  • Λειτουργία που ορίζεται από το def δήλωση
  • Το μπλοκ κώδικα σε κάθε συνάρτηση ξεκινά με άνω και κάτω τελεία (:) και πρέπει να έχει εσοχή (κενό)
  • Τυχόν ορίσματα ή παράμετροι εισόδου θα πρέπει να τοποθετούνται μέσα σε αυτές τις παρενθέσεις κ.λπ.
  • Τουλάχιστον μία εσοχή θα πρέπει να μείνει πριν από τον κωδικό μετά τη δήλωση της συνάρτησης
  • Το ίδιο στυλ εσοχής θα πρέπει να διατηρείται σε όλο τον κώδικα εντός της συνάρτησης def
  • Για τις βέλτιστες πρακτικές τρεις ή τέσσερις εσοχές θεωρούνται καλύτερες πριν από τη δήλωση
  • Μπορείτε να χρησιμοποιήσετε την εντολή "return" για να επιστρέψετε τιμές στην κλήση συνάρτησης.
  • Python θα εκτυπώσει μια τυχαία τιμή όπως (0x021B2D30) όταν το όρισμα δεν παρέχεται στη συνάρτηση κλήσης. Παράδειγμα "λειτουργία εκτύπωσης".
  • Στην πλευρά που καλεί, είναι ένα όρισμα και στην πλευρά της συνάρτησης είναι μια παράμετρος
  • Προεπιλεγμένη τιμή στο όρισμα – Όταν παρέχουμε μόνο ένα όρισμα ενώ καλούμε τη συνάρτηση πολλαπλασιασμού ή οποιαδήποτε άλλη συνάρτηση, Python εκχωρεί το άλλο όρισμα από προεπιλογή
  • Python σας δίνει τη δυνατότητα να αντιστρέψετε τη σειρά του επιχειρήματος επίσης