Συνάρτηση ως Μεταβλητή στην Python

Στην Python, μια συνάρτηση είναι στην ουσία μια μεταβλητή. Και αυτό σημαίνει ότι μπορεί επίσης να μεταβιβαστεί.

Ας υποθέσουμε ότι έχουμε μια συνάρτηση που επιστρέφει ένα θαυμαστικό:

pythondef func():
  return '!'

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

pythonprint(func)

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

python<function func at 0x0000022816383E20>

Τώρα ας δηλώσουμε μια μεταβλητή func2, στην τιμή της οποίας θα περάσουμε τη συνάρτηση func1. Η ίδια η συνάρτηση θα μεταβιβάζεται όχι κατά τιμή, αλλά με αναφορά ως αντικείμενο. Και όταν καλείται η func2 με παρενθέσεις, η κονσόλα θα εμφανίσει το αποτέλεσμα της func1:

pythondef func1():
print('!')

func2 = func1
func2() # θα εκτυπώσει '!'
Задание 1

Ποιο θα είναι το αποτέλεσμα της εκτέλεσης του ακόλουθου κώδικα:

pythondef func():
  print('hello, user!')

greet = func
print(greet)
Задание 2

Ποιο θα είναι το αποτέλεσμα της εκτέλεσης του ακόλουθου κώδικα:

pythondef getSum(num1, num2):
  res = num1 + num2
  return res

func = getSum
print(func(2, 3))