Συναρτήσεις Callback στην Python

Στην Python υπάρχει η δυνατότητα να μεταβιβάζουμε συναρτήσεις στις παραμέτρους άλλων συναρτήσεων. Σε αυτήν την περίπτωση οι συναρτήσεις μεταβιβάζονται ως μεταβλητές (χωρίς παρενθέσεις) και ονομάζονται callback. Αυτές οι συναρτήσεις-callback θα εκτελούνται στο σώμα της κύριας συνάρτησης.

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

pythondef test(num, func):
  pass

Τώρα ας δημιουργήσουμε μια συνάρτηση func, που θα υψώνει έναν αριθμό στο τετράγωνο:

pythondef func(num):
  return num ** 2

Τώρα ας επιστρέψουμε στην test και στο σώμα της να προσθέσουμε κώδικα, έτσι ώστε η συνάρτηση-callback που μεταβιβάστηκε στην παράμετρο να δέχεται επίσης ως παράμετρο έναν αριθμό. Τελικά, θα προκύψει ότι το αποτέλεσμα της test θα είναι η εκτέλεση μιας άλλης συνάρτησης, της οποίας ο αριθμός θα λαμβάνεται από την πρώτη παράμετρο της test:

pythondef test(num, func):
  print(func(num))

Στη συνέχεια καλούμε τη συνάρτηση test και της μεταβιβάζουμε ως πρώτη παράμετρο το 3, και ως δεύτερη - την func:

pythontest(3, func) # θα εκτυπώσει 9
Задание 1

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

pythondef get_Info(txt, func):
  print(func(txt))
  
def func(name):
  return 'user name is ' + name
  
get_Info('john', func)