Catégories
codage

Python def et syntaxe lambda et comparaison des différences

Examinons deux mots-clés qui ont des fonctions similaires. N'en auriez-vous pas fait deux inutilement ?

def description

Permettez-moi d'abord de vous donner un exemple.

def add(x, y):
    return x + y
print(add(3,5))

Voici le résultat :

8

Les fonctions sont écrites avec le mot clé def.

add est le nom de la fonction et les arguments à passer sont définis comme x et y.

Il a une fonction qui renvoie le résultat de l'addition de deux valeurs.

Si vous passez 3 et 5 comme arguments à la fonction d'ajout ainsi créée, vous pouvez voir que le résultat est 8.

description lambda

Créons la même fonction que ci-dessus.

add = lambda x,y: x+y
print(add(2,3))

Voici le résultat :

5

Il utilise le mot clé lambda pour recevoir x et y comme arguments et renvoie le résultat de l'addition des deux valeurs.

Les Lambda créent des fonctions sans nom par défaut.

Et vous pouvez écrire de manière plus concise en une seule ligne.

N'utilisez pas non plus le mot-clé return.

Il peut également être utilisé de la même manière qu'une fonction en l'affectant à une variable.

Comment l'utiliser

Regardons un autre exemple d'utilisation pour vous aider à comprendre.

temp = [1,2,3,4,5]
result = list(filter(lambda x:x>2, temp))
print(result)

Voici le résultat :

[3,4,5]

Ceci est un exemple d'utilisation de la méthode de filtrage pour sélectionner uniquement les valeurs supérieures à 2 dans un tableau contenant les éléments 1 à 5.

lambda reçoit une valeur, détermine si elle est supérieure à 2 et renvoie des valeurs booléennes True ou False.

La méthode filter affecte un lambda au premier argument et un tableau au deuxième argument.

Il parcourt le tableau et produit un résultat en conservant la valeur si elle est supérieure à 2 et en l'excluant sinon.

Le résultat obtenu par filter est créé sous la forme d'un tableau avec la méthode list et stocké dans la variable result.

Créons exactement la même fonction avec une fonction.

temp = [1,2,3,4,5]
def comp(x):
    return x > 2
result = list(filter(comp, temp))
print(result)

Voici le résultat :

[3,4,5]

Peu importe comment vous l'implémentez, mais dans cet exemple, le lambda est un peu plus concis, n'est-ce pas ?

En fait, si vous prenez une photo du type, les implémentations def et lambda sortent de la même manière que les fonctions.

Par conséquent, vous pouvez le considérer comme un concept selon lequel un lambda est inclus dans une fonction.

En conclusion, il serait préférable d'utiliser le mot-clé def pour créer une fonction qui doit être réutilisée, et d'utiliser lambda lorsque vous souhaitez créer une fonction simple à usage unique.

Il y a 2 réponses sur ce post.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrançais