Une fonction lambda est une fonction anonyme (sans nom) qu'on écrit en une seule expression. Pratique pour des petits calculs jetables.
Syntaxe
lambda parametres: expressionÉquivalence avec def :
# version classique
def triple(x):
return x * 3# version lambda
triple = lambda x: x * 3Les deux sont équivalentes. La lambda est juste plus courte.
Une lambda ne contient QU'une expression. Pas de boucle, pas de if/else multi-lignes, pas de return (la valeur de l'expression est automatiquement renvoyée).
carre = lambda x: x ** 2
print(carre(5)) # 25somme = lambda a, b: a + b
print(somme(3, 4)) # 7pair = lambda n: n % 2 == 0
print(pair(8)) # True# Avec un if/else dans l'expression (ternaire)
abs_val = lambda x: x if x >= 0 else -x
print(abs_val(-5)) # 5La lambda brille quand on doit passer une mini-fonction en argument à une autre fonction (sort, map, filter, etc.) :
noms = ['Bob', 'Alice', 'Charlie']
noms.sort(key=lambda n: len(n)) # tri par longueur
# → ['Bob', 'Alice', 'Charlie'] (3, 5, 7 lettres)Sinon, pour une fonction réutilisée plusieurs fois, préfère def : plus lisible et déboguable.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →