Fonction comme variable en Python

En Python, une fonction est par essence une variable. Et cela signifie qu'elle peut aussi être transmise.

Supposons que nous ayons une fonction qui renvoie un point d'exclamation :

pythondef func():
  return '!'

Passons à print le nom de la fonction sans les parenthèses comme une variable :

pythonprint(func)

Après l'exécution du code, un objet spécial contenant des informations sur cette fonction sera affiché dans la console :

python<function func at 0x0000022816383E20>

Maintenant, déclarons une variable func2, à laquelle nous assignons la fonction func1. La fonction elle-même sera passée non pas par valeur, mais par référence en tant qu'objet. Et lors de l'appel de func2 avec des parenthèses, le résultat de l'exécution de func1 sera affiché dans la console :

pythondef func1():
print('!')

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

Quel sera le résultat de l'exécution du code suivant :

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

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

Quel sera le résultat de l'exécution du code suivant :

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

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