python

Que ce soit lors d’un exercice ou des oraux au concours, tous les moyens de se démarquer sont bons. Ainsi, ce que les autres candidats restituent platement peut, pour un étudiant averti, se révéler une opportunité hors du commun de démontrer de son savoir.

Que sont les fonctions lambda ?

Les fonctions lambda sont en l’essence des fonctions tout à fait banales et normales, comme les fonctions classiques que l’on connaît tous :

Cependant, ces fonctions ont un bon nombre d’avantages, qu’il est bon de connaître pour gagner du temps, mais aussi impressionner les correcteurs. En effet, dans la fonction susmentionnée, pourquoi utiliser deux lignes complètes pour implémenter quelque chose d’aussi simple ? L’alternative est tout à fait élégante :

On voit ici la structure classique d’une fonction qui correspond plus à la définition d’une fonction dans le sens mathématique, puisque l’on retrouve les deux points, l’argument et le « produit » de la fonction.

Il est bon de noter que c’est pour cette raison précise qu’il existe des fonctions lambda où le mot clé lambda ne peut pas être utilisé pour nommer une variable, comme le mot « alpha » par exemple.

Cependant, si ces fonctions remplissent les mêmes rôles que des fonctions conventionnelles, elles peuvent revêtir un rôle bien plus important et divers, comme celui d’une fonction que l’on pourrait qualifier d’appoint.

Pourquoi utiliser une fonction lambda ?

En effet, quels sont les avantages susmentionnés qui semblent rendre ces fonctions si importantes ?

Nommer des fonctions lambda

On peut tout d’abord nommer les fonctions lambda de façon assez simple et plus intuitive.

Ici, on nomme la fonction qui à « x » associe « x+ 1 » avec le nom « fonction ». On voit alors que ce processus de définition d’une fonction nous facilite grandement la tâche si la fonction à implémenter est simple et n’est que peu utilisée, ne revêtant pas d’autant plus une utilité transcendante.

Fonction d’appoint

Les fonctions lambda peuvent servir de fonction d’appoint, tout comme l’attribution d’une valeur à une variable avec l’opérateur « Walrus ».

Pour aller plus loin : L’opérateur Walrus

En effet, si on veut utiliser la même fonction que précédemment de façon totalement impromptue, on peut simplement opérer le processus suivant :

On peut bien évidemment utiliser cela en nommant dans le même temps le résultat de cette opération mathématique :

Comment utiliser de telles fonctions ?

Ces fonctions reviennent à utiliser des fonctions classiques. En effet, on peut utiliser les fonctions nommées, vues précédemment, de façon impromptue dans n’importe quelle partie du script, étant donné qu’on les a nommées.

Reprenons cette fonction :

Imaginons maintenant que l’on désire utiliser cette fonction plus loin : comment faire ? Python nous aide réellement ici, car il reprend la même structure que la mathématique :

Cependant, il faut aussi noter que dans un script simple, on peut tout à fait utiliser les fonctions lambda, même si elles ne sont pas nommées. Toutefois, cela n’est pas du meilleur goût, car cela peut poser des problèmes d’exécution ou de lisibilité plus tard.

Imaginons que l’on a cette fonction :

Comment l’utiliser puisqu’elle n’a pas de nom ?

On utilise simplement l’underscore _ afin d’appeler cette fonction, ce qui nous permet d’utiliser quelque chose de non nommé, ce qui est assez rare et ce qu’il faut par conséquent apprécier !

Conclusion

Les fonctions lambda sont des outils simples en Python qui permettent d’accélérer et d’optimiser son script, rendant un résultat plus professionnel, plus lisible et plus techniquement correct. Ceci menant les correcteurs en dehors des sentiers battus et démontrant sa maîtrise du langage.