Fonctions lambda

Python intermédiaire pour développeurs et développeuses

Jasmin Ludolf

Senior Data Science Content Developer

Fonctions simples

def average(values):
    average_value = sum(values) / len(values)
    return average_value
Python intermédiaire pour développeurs et développeuses

Fonctions lambda

  • Mot-clé lambda
    • Représente une fonction anonyme

 

lambda
Python intermédiaire pour développeurs et développeuses

Fonctions lambda

  • Mot-clé lambda
    • Représente une fonction anonyme

 

lambda arguments
Python intermédiaire pour développeurs et développeuses

Fonctions lambda

  • Mot-clé lambda
    • Représente une fonction anonyme

 

lambda arguments:
Python intermédiaire pour développeurs et développeuses

Fonctions lambda

  • Mot-clé lambda
    • Représente une fonction anonyme

$$

lambda arguments: expression
  • Par convention, on utilise x pour un seul argument
  • L'expression équivaut au corps de la fonction
  • Aucun return n'est requis

$$

  • Peut être stockée dans une variable
Python intermédiaire pour développeurs et développeuses

Créer une fonction lambda

# Fonction lambda pour la moyenne
print(lambda x: sum(x) / len(x))



<function <lambda> at 0x7f11ab813d80>
# Fonction personnalisée de moyenne
def average(x):
    return sum(x) / len(x)  

print(average)
<function average at 0x7f11ab813ec0>
Python intermédiaire pour développeurs et développeuses

Utiliser des fonctions lambda

# Obtenir la moyenne
(lambda x: sum(x) / len(x))
Python intermédiaire pour développeurs et développeuses

Utiliser des fonctions lambda

# Obtenir la moyenne
(lambda x: sum(x) / len(x))([3, 6, 9])

$$

$$

# Afficher la moyenne
print((lambda x: sum(x) / len(x))([3, 6, 9]))
6.0
Python intermédiaire pour développeurs et développeuses

Stocker et appeler une fonction lambda

# Stocker une fonction lambda dans une variable
average = lambda x: sum(x) / len(x)

# Appeler la fonction average print(average([3, 6, 9]))
6.0
Python intermédiaire pour développeurs et développeuses

Paramètres multiples

# Fonction lambda avec deux arguments
power = lambda x, y: x**y


# Élever 2 à la puissance 3 print(power(2, 3))
8
Python intermédiaire pour développeurs et développeuses

Fonctions lambda avec des itérables

  • map() applique une fonction à tous les éléments d'un itérable
names = ["john", "sally", "leah"]

# Appliquer une fonction lambda dans map() capitalize = map(lambda x: x.capitalize(), names)
print(capitalize)
<map object at 0x7fb200529c10>
# Convertir en liste
print(list(capitalize))
['John', 'Sally', 'Leah']
Python intermédiaire pour développeurs et développeuses

Fonctions personnalisées vs lambda

Scénario Type de fonction
Tâche complexe Personnalisée
Même tâche plusieurs fois Personnalisée
Exécutée une seule fois Lambda
Tâche simple Lambda
Python intermédiaire pour développeurs et développeuses

Passons à la pratique !

Python intermédiaire pour développeurs et développeuses

Preparing Video For Download...