Συνάρτηση ως Μεταβλητή στην Python
Στην Python, μια συνάρτηση είναι στην ουσία μια μεταβλητή. Και αυτό σημαίνει ότι μπορεί επίσης να μεταβιβαστεί.
Ας υποθέσουμε ότι έχουμε μια συνάρτηση που επιστρέφει ένα θαυμαστικό:
def func():
return '!'
Ας περάσουμε στο print το όνομα της συνάρτησης
χωρίς παρενθέσεις ως μεταβλητή:
print(func)
Μετά την εκτέλεση του κώδικα, στην κονσόλα θα εμφανιστεί ένα ειδικό αντικείμενο που περιέχει πληροφορίες για αυτήν τη συνάρτηση:
<function func at 0x0000022816383E20>
Τώρα ας δηλώσουμε μια μεταβλητή func2,
στην τιμή της οποίας θα περάσουμε τη συνάρτηση func1.
Η ίδια η συνάρτηση θα μεταβιβάζεται όχι
κατά τιμή, αλλά με αναφορά ως αντικείμενο. Και όταν
καλείται η func2 με παρενθέσεις,
η κονσόλα θα εμφανίσει το αποτέλεσμα της func1:
def func1():
print('!')
func2 = func1
func2() # θα εκτυπώσει '!'
Ποιο θα είναι το αποτέλεσμα της εκτέλεσης του ακόλουθου κώδικα:
def func():
print('hello, user!')
greet = func
print(greet)
Ποιο θα είναι το αποτέλεσμα της εκτέλεσης του ακόλουθου κώδικα:
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))