Menu
Coddy logo textTech

Return a Function

Leçon 4 sur 12 du cours Les décorateurs Python de Coddy.

En Python, nous pouvons également renvoyer une fonction en tant que valeur de retour.

Par exemple,

def get_multiplier(n):
    def multiplier(x):
        return x * n
    return multiplier

double = get_multiplier(2)
triple = get_multiplier(3)

print(double(5)) # Output: 10
print(triple(5)) # Output: 15

Dans cet exemple, la fonction get_multiplier renvoie une nouvelle fonction appelée multiplier, qui prend un seul argument x et renvoie le produit de x et de l'argument n passé à get_multiplier.

Nous utilisons ensuite get_multiplier pour créer deux nouvelles fonctions : double (qui multiplie son entrée par 2) et triple (qui multiplie son entrée par 3).

Lorsque nous appelons ces fonctions avec un argument (tel que 5), elles utilisent la fonction multiplier renvoyée par get_multiplier pour calculer le résultat.

Ainsi, dans l'exemple ci-dessus, double(5) renvoie 10 (car 5 * 2 = 10), et triple(5) renvoie 15 (car 5 * 3 = 15).

challenge icon

Défi

Facile

Écrivez une fonction appelée function_builder qui prend deux entiers a et b en entrée et renvoie une nouvelle fonction.

La nouvelle fonction doit prendre un seul entier x en entrée et renvoyer la valeur de (a * x) + b.

Voici un exemple du fonctionnement de la fonction :

>>> my_func = function_builder(2, 3)
>>> my_func(5)
13

>>> function_builder(1, 2)(3)
5

Essayez vous-même

Toutes les leçons de Les décorateurs Python

Entraînez-vous par vous-même : Compilateur Python en ligne