Funzione come variabile in Python

In Python una funzione è essenzialmente una variable. E questo significa che può anche essere passata.

Supponiamo di avere una funzione che restituisce un punto esclamativo:

pythondef func():
  return '!'

Passiamo a print il nome della funzione senza parentesi tonde come variabile:

pythonprint(func)

Dopo l'esecuzione del codice, nella console verrà visualizzato un oggetto speciale, contenente informazioni su questa funzione:

python<function func at 0x0000022816383E20>

Ora dichiariamo una variabile func2, al cui valore passeremo la funzione func1. La funzione stessa verrà passata non per valore, ma per riferimento come oggetto. E quando si chiama func2 con le parentesi tonde in console verrà visualizzato il risultato di func1:

pythondef func1():
print('!')

func2 = func1
func2() # visualizzerà '!'
Задание 1

Quale sarà il risultato della seguente esecuzione del codice:

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

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

Quale sarà il risultato della seguente esecuzione del codice:

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

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