Συνάρτησεις Python

Η συνάρτηση είναι ένα κομμάτι κώδικα που εκτελείται μόνο όταν καλείται.

Μπορείτε να μεταδώσετε δεδομένα (ονομαζόμενα παραμέτρους) στη συνάρτηση.

Η συνάρτηση μπορεί να επιστρέψει δεδομένα ως αποτέλεσμα.

δημιουργούμε συνάρτηση

Στο Python, χρησιμοποιούμε def κλειδί ορισμού συνάρτησης:

Παράδειγμα

def my_function():
  print("Hello from a function")

καλούμε τη συνάρτηση

Για να καλέσουμε τη συνάρτηση, χρησιμοποιήστε το όνομα της συνάρτησης ακολουθούμενο από τα κεραία:

Παράδειγμα

def my_function():
  print("Hello from a function")
my_function()

Εκτέλεση Παραδείγματος

παράμετρος

Η πληροφορία μπορεί να μεταδοθεί ως παράμετρος στη συνάρτηση.

Οι παραμέτρους καθορίζονται μέσα στα κεραία του ονόματος της συνάρτησης. Μπορείτε να προσθέσετε όσες παραμέτρους χρειάζεστε, απλά χρησιμοποιώντας κόμματα για να τις ξεχωρίσετε.

Ο παρακάτω παράδειγμα έχει μια συνάρτηση με παράμετρο (fname). Όταν καλέσουμε αυτή τη συνάρτηση, θα περάσουμε ένα όνομα και θα το χρησιμοποιήσουμε μέσα στην συνάρτηση για να εκτυπώσουμε το πλήρες όνομα:

Παράδειγμα

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

Εκτέλεση Παραδείγματος

προεπιλεγμένη τιμή παραμέτρου

Ο παρακάτω παράδειγμα δείχνει πώς να χρησιμοποιήσουμε την προεπιλεγμένη τιμή παραμέτρου.

εάν καλέσουμε τη συνάρτηση χωρίς παραμέτρους, θα χρησιμοποιήσουμε την προεπιλεγμένη τιμή:

Παράδειγμα

def my_function(country = "China"):
  print("Είμαι από το " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Εκτέλεση Παραδείγματος

Με την μεταφορά Λίστας

Οι παραμέτρους που στείλετε στη συνάρτηση μπορεί να είναι οποιαδήποτε τύπος δεδομένων (κείμενο, αριθμός, λίστα, λεξικό κ.λπ.) και θα θεωρούνται ως ίδιος τύπος δεδομένων εντός της συνάρτησης.

Για παράδειγμα, αν στείλετε τη Λίστα ως παράμετρο, όταν φτάσει στη συνάρτηση θα είναι ακόμα Λίστα (λίστα):

Παράδειγμα

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Εκτέλεση Παραδείγματος

Αποτελεσματική τιμή

Για να κάνετε τη συνάρτηση να επιστρέψει μια τιμή, χρησιμοποιήστε return Ανάθεση:

Παράδειγμα

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Εκτέλεση Παραδείγματος

Κλειδιά παραμέτρους

Μπορείτε επίσης να στείλετε τις παραμέτρους χρησιμοποιώντας τη γραμματική key = value.

Η σειρά των παραμέτρων δεν είναι σημαντική.

Παράδειγμα

def my_function(child3, child2, child1):
  print("Ο μικρότερος παιδί είναι " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Εκτέλεση Παραδείγματος

Στα έγγραφα Python, το όρος "κλειδιά παραμέτρους" συχνά αναφέρεται ως kwargs.

Αναλογικές παραμέτρους

Αν δεν γνωρίζετε πόσα παράμετρα θα αποστείλετε στην συνάρτηση, προσθέστε το * πριν από το όνομα της παραμέτρου στην ορισμό της συνάρτησης.

Όπως αυτό, η συνάρτηση θα λάβει μια τυπική παραμέτρο και θα μπορεί να πρόσβαση στις περιεχόμενες του ανάλογα:

Παράδειγμα

Αν δεν γνωρίζετε τον αριθμό των παραμέτρων, προσθέστε το * πριν από το όνομα της παραμέτρου:

def my_function(*kids):
  print("Ο μικρότερος παιδί είναι " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Εκτέλεση Παραδείγματος

κατάσταση pass

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

Παράδειγμα

def myfunction:
  pass

Εκτέλεση Παραδείγματος

Επανάληψη

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

Η επανάληψη είναι μια κοινή μαθηματική και προγραμματιστική έννοια. Ορίζεται ως η λειτουργία που καλείται εαυτός. Το πλεονέκτημα αυτού είναι η δυνατότητα επαναλαμβανόμενης πρόσβασης στα δεδομένα για την επίτευξη αποτελεσμάτων.

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

Σε αυτό το παράδειγμα:tri_recursion() είναι η λειτουργία που ορίζουμε ως καλείται εαυτός ("recurse"). Χρησιμοποιούμε τη μεταβλητή k ως δεδομένα και μειώνουμε (-1) κάθε φορά που επαναλαμβάνεται. Όταν η συνθήκη δεν είναι μεγαλύτερη από 0 (π.χ. όταν είναι 0), η επανάληψη τελειώνει.

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

Παράδειγμα

Παράδειγμα Επανάληψης

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nΠαράδειγμα Επανάληψης")
tri_recursion(6)

Εκτέλεση Παραδείγματος