Expression lambda

Définition, exemples et bonnes pratiques

À retenir

  • C'est une fonction sans nom (anonyme).
  • Elle permet d'écrire un code plus compact et élégant.
  • Elle est idéale pour des traitements ponctuels et rapides.

Une expression lambda est une petite fonction "express" qui n'a pas de nom (on dit qu'elle est anonyme). C'est un bloc de code concis que l'on crée au moment précis où on en a besoin pour effectuer une tâche simple, comme une petite machine de calcul temporaire.

Étymologie

Traduction directe de l'anglais lambda expression. Le mot provient du lambda-calcul, un système mathématique inventé par Alonzo Church dans les années 1930 pour modéliser le calcul. La lettre grecque lambda (λ) était utilisée pour introduire des variables dans les fonctions mathématiques.

Exemples d'usage

  • En JavaScript : (a, b) => a + b définit une fonction qui additionne deux nombres sans avoir besoin de la nommer.
  • En Python : lambda x: x * 2 permet de doubler instantanément une valeur dans une opération de tri ou de filtrage.
  • En Java ou C# : utilisé pour traiter des listes de données de manière fluide (par exemple, garder uniquement les nombres pairs).

Cas d'usage

On les utilise principalement pour transformer ou filtrer des collections de données (listes, tableaux), définir des comportements lors d'un clic sur un bouton (gestion d'événements) ou passer une logique de calcul spécifique en paramètre à une autre fonction.

Bonnes pratiques

L'expression lambda doit rester courte et simple (une seule ligne idéalement). Si la logique devient complexe ou nécessite plusieurs lignes, il est préférable de créer une fonction classique avec un nom clair pour faciliter la relecture et le débogage du programme.

Synonymes

fonction anonyme fonction fléchée lambda

Antonymes

fonction nommée méthode

Conseil

Quand vous débutez, voyez les lambdas comme des 'fonctions jetables'. Si vous avez besoin de réutiliser la même logique à plusieurs endroits, ne faites pas de lambdas : créez une fonction nommée classique.

Questions fréquentes

Pourquoi utiliser une lambda au lieu d'une fonction classique ?

Pour gagner en clarté et éviter de 'polluer' le code avec des noms de fonctions qui ne servent qu'une seule fois à un endroit précis.

Est-ce que tous les langages les supportent ?

La plupart des langages modernes (Python, JS, Java, C#, C++, PHP) les intègrent désormais sous diverses syntaxes.