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 :
def func():
return '!'
Passons à print le nom de la fonction
sans les parenthèses comme une variable :
print(func)
Après l'exécution du code, un objet spécial contenant des informations sur cette fonction sera affiché dans la console :
<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 :
def func1():
print('!')
func2 = func1
func2() # affichera '!'
Quel sera le résultat de l'exécution du code suivant :
def func():
print('hello, user!')
greet = func
print(greet)
Quel sera le résultat de l'exécution du code suivant :
def getSum(num1, num2):
res = num1 + num2
return res
func = getSum
print(func(2, 3))