Fonctions lambda

Python intermédiaire pour les développeurs

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 les développeurs

Fonctions lambda

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

 

lambda
Python intermédiaire pour les développeurs

Fonctions lambda

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

 

lambda arguments
Python intermédiaire pour les développeurs

Fonctions lambda

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

 

lambda arguments:
Python intermédiaire pour les développeurs

Fonctions lambda

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

$$

lambda arguments: expression
  • La convention veut que l'on utilise x pour un seul argument
  • expression correspond au corps de la fonction
  • Aucune instruction return n'est requise

$$

  • Peut être stocké en tant que variable
Python intermédiaire pour les développeurs

Création d'une fonction lambda

# Lambda average function
print(lambda x: sum(x) / len(x))



<function <lambda> at 0x7f11ab813d80>
# Custom average function
def average(x):
    return sum(x) / len(x)  

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

Utilisation des fonctions lambda

# Get the average
(lambda x: sum(x) / len(x))
Python intermédiaire pour les développeurs

Utilisation des fonctions lambda

# Get the average
(lambda x: sum(x) / len(x))([3, 6, 9])

$$

$$

# Print the average
print((lambda x: sum(x) / len(x))([3, 6, 9]))
6.0
Python intermédiaire pour les développeurs

Stockage et appel d'une fonction lambda

# Store lambda function as a variable
average = lambda x: sum(x) / len(x)

# Call the average function print(average([3, 6, 9]))
6.0
Python intermédiaire pour les développeurs

Paramètres multiples

# Lambda function with two arguments
power = lambda x, y: x**y


# Raise 2 to the power of 3 print(power(2, 3))
8
Python intermédiaire pour les développeurs

Fonctions lambda avec itérables

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

# Apply a lambda function inside map() capitalize = map(lambda x: x.capitalize(), names)
print(capitalize)
<map object at 0x7fb200529c10>
# Convert to a list
print(list(capitalize))
['John', 'Sally', 'Leah']
Python intermédiaire pour les développeurs

Fonctions personnalisées vs fonctions lambda

Scénario Type de fonction
Tâche complexe Custom
La même tâche à plusieurs reprises Custom
Exécution unique Lambda
Tâche simple Lambda
Python intermédiaire pour les développeurs

Passons à la pratique !

Python intermédiaire pour les développeurs

Preparing Video For Download...