La liste des paramètres est ajoutée lorsque nous les déclarons à l'aide du mot-clé «Def», donnez-leur un nom et mettons les parenthèses rondes autour de la liste des arguments. Il peut y avoir plusieurs lignes de code, chacune contenant autant de déclarations et d'expressions que requises. Cependant, il y a des situations où nous pouvons vouloir une fonction avec une seule expression interne, comme lorsque nous avons besoin d'une fonction qui double un argument.
Nous pouvons utiliser la méthode double () avec la fonction map ().
Étant donné qu'une fonction lambda peut être construite précisément là où elle est nécessaire, ce serait un excellent endroit pour en utiliser un. Il en résulte en écrivant quelques lignes de code et en empêchant la création des fonctions nommées qui ne sont appelées qu'une seule fois (puis doivent être stockées dans une mémoire).
Définition de la fonction lambda
Ce sont les méthodes sans noms. Les termes des fonctions anonymes et sans nom sont également utilisées pour les décrire. À la place d'un nom, le terme «lambda» sert de mot-clé. La nature anonyme de la fonction qui vient ensuite est indiquée par ce terme.
Pourquoi utiliser les fonctions Python Lambda
L'utilisation principale des fonctions anonymes est lorsqu'une certaine fonction n'est requise qu'une seule fois. Ils peuvent être produits partout où. Les fonctions de python lambda sont donc parfois appelées méthodes jetées car elles sont utilisées en conjonction avec les autres fonctions prédéfinies comme Filter (), Map () et d'autres fonctions. Par rapport aux fonctions Python standard, ces fonctions aident à réduire le nombre de lignes dans le code.
Comment utiliser les méthodes lambda en python
Lorsqu'une expression courte est requise comme un paramètre pour une méthode complexe, les fonctions lambda sont utilisées.
La syntaxe d'une fonction lambda est la suivante:
L'expression qui constitue le corps de la fonction est écrite après le terme lambda, un espace, une liste de tous les paramètres séparés par des virgules et un côlon.
Le nombre de paramètres que nous utilisons dans une fonction lambda dépend de nous. Mais une seule expression peut être utilisée dans le corps.
Nous notons que bien qu'il puisse y avoir un nombre illimité de paramètres, il ne peut y avoir qu'une seule expression par argument. L'instruction de retour, qui fait généralement partie de la syntaxe pour une définition de la fonction, est absente ici.
La syntaxe s'explique en définissant l'argument et les expressions. Soit «y» l'argument et «y + y» est l'expression.
Avant de passer au sujet réel, parlons de certains aspects techniques des fonctions lambda et de ce que la communauté Python considère comme leurs avantages et inconvénients.
Avantages:
Bon pour les procédures logiques claires et simples. Cela améliore également la lisibilité du code.
Efficace lorsque nous avons besoin d'une fonction d'utilisation unique.
Les inconvénients:
Ils sont limités à utiliser une phrase. Une fonction Lambda ne peut pas inclure de nombreuses opérations indépendantes.
Défavorable aux actions qui auraient besoin de plus d'une déclaration dans une définition standard de la fonction. Utilisez une fonction nommée à sa place si elle nous prend plus d'une minute pour saisir le code.
Exemple 1:
Nous allons créer une fonction lambda qui multiplie son attribut par 2.
Maintenant, nous exécutons le programme en utilisant la syntaxe précédente.
Nous déclarons une liste ayant 6 entiers sous la variable «my_list». Ensuite, nous utilisons la fonction lambda avec la fonction map () dans une nouvelle variable - «nouveau-liste». Enfin, nous utilisons la fonction print () et obtenons la sortie souhaitée.
Observez les différences entre cette méthode et la double fonction dont nous avons écrit plus tôt. Celui-ci est plus gérable et utilise moins de mémoire car il n'inclut pas de fonction supplémentaire. Il ne faut qu'un seul codage de ligne qui est facile à utiliser.
Exemple 2:
La fonction lambda peut également être utilisée pour trouver les entiers requis ou régler facilement et alternativement. Nous pouvons créer une fonction lambda qui détermine si un entier est positif.
L'exemple suivant est exécuté par l'utilisation de la syntaxe mentionnée précédemment.
Commencez par déclarer la liste de 6 nombres sous la variable spécifiée comme «My-list». Après avoir initialisé les valeurs de la liste, nous utilisons la fonction lambda avec la fonction filtrante () sous la variable «new-list». Pour imprimer la sortie dans la dernière étape, nous appliquons la fonction print ().
Cela empêche la nécessité d'une fonction nommée de stockage en mémoire car la fonction lambda est déclarée lorsqu'elle est utilisée. Pour éviter un encombrement, il est approprié d'utiliser une fonction lambda lorsqu'une fonction n'est appelée qu'une seule fois et d'obtenir la sortie souhaitée à l'aide d'une formule de ligne unique.
Exemple 3:
Plusieurs déclarations ne sont pas autorisées dans les fonctions lambda. Mais nous pouvons construire deux fonctions lambda, puis appeler l'un d'entre eux comme paramètre à une autre fonction lambda. En utilisant Lambda, essayons de localiser le deuxième plus grand élément:
Ici, nous initialisons un ensemble d'entiers dans la variable «liste». Après avoir fait la liste et spécifié la variable, nous avons développé une fonction lambda qui trie chaque sous-liste de la liste fournie. La deuxième fonction Lambda qui récupère le N-2e élément de la liste triée et renvoie N comme la durée de la sous-liste est ensuite appelée en utilisant cette liste comme argument.
Exemple 4:
Une fonction et une liste sont toutes deux acceptées comme paramètres par la fonction map (). Une nouvelle liste qui comprend tous les éléments modifiés par lambda fournis par cette méthode pour chaque élément est renvoyé lorsque la méthode est invoquée avec une méthode lambda et une liste.
Nous commençons par une liste de 10 entiers dans la variable «liste». Ensuite, nous utilisons ensemble les deux fonctions (carte et lambda) dans une "Final_list". En fin de compte, nous représentons notre sortie en utilisant la fonction print ().
Exemple 5:
Nous utilisons la fonction lambda () avec réduction (). Une fonction et une liste sont les deux arguments acceptés par la fonction rétexe () python. Un résultat est retourné lorsque la méthode est invoquée avec une méthode lambda et une itérable. En utilisant les valeurs de la paire d'Itéable, cela répète une opération. Le module «Functools» est l'endroit où réside la méthode Reduce ().
Après avoir intégré le module «réduire» des «Functools», nous faisons une liste de 6 entiers et déclarons la variable comme «liste». Ensuite, utilisez la Lambda et réduisez la fonction dans la variable «SUM» pour afficher la sortie. Nous avons utilisé la fonction print ().
Conclusion
Dans ce guide, nous avons expliqué les fonctions lambda. Ceux-ci sont définis comme des fonctions si notre fonction a juste une brève expression. Bien que nous ayons démontré ici qu'ils sont faciles à utiliser à n'importe quel niveau, ils ne sont pas couramment utilisés par les programmeurs. Pour mieux comprendre quelles sont les fonctions lambda et comment utiliser ces fonctions pour réduire la taille ou la durée d'une fonction, nous avons également implémenté certains codes dans l'article avec certains avantages et inconvénients afin que l'on puisse connaître les avantages et les inconvénients de l'utilisation des fonctions lambda avant de l'utiliser, obtenez un meilleur aperçu de la situation et si la fonction lambda est applicable dans une telle situation ou non.