Les fonctions lambda
Nous venons de voir comment créer une fonction grâce au mot-clé def. Python nous propose un autre moyen de créer des fonctions, des fonctions extrêmement courtes car limitées à une seule instruction.
Dans votre tête : Pourquoi une autre façon de créer des fonctions ? La première suffit, non ?
Disons que ce n'est pas tout à fait la même chose, comme vous allez le voir. Les fonctions lambda sont en général utilisées dans un certain contexte, pour lequel définir une fonction à l'aide de def serait plus long et moins pratique.
Syntaxe
Avant tout, voyons la syntaxe d'une définition de fonction lambda. Nous allons utiliser le mot-clé lambda comme ceci : lambda arg1, arg2, : instruction de retour.
Je pense qu'un exemple vous semblera plus clair. On veut créer une fonction qui prend un paramètre et renvoie ce paramètre au carré.
>>> lambda x: x * x
at 0x00BA1B70>
>>>
D'abord, on a le mot-clé lambda suivi de la liste des arguments, séparés par des virgules. Ici, il n'y a qu'un seul argument, c'est x. Ensuite figure un nouveau signe deux points « : » et l'instruction de la fonction lambda. C'est le résultat de l'instruction que vous placez ici qui sera renvoyé par la fonction. Dans notre exemple, on renvoie donc x * x.
Dans votre tête : Comment fait-on pour appeler notre lambda ?
On a bien créé une fonction lambda mais on ne dispose ici d'aucun moyen pour l'appeler. Vous pouvez tout simplement stocker votre fonction lambda nouvellement définie dans une variable, par une simple affectation :
>>> f = lambda x: x * x
>>> f(5)
25
>>> f(-18)
324
>>>
Un autre exemple : si vous voulez créer une fonction lambda prenant deux paramètres et renvoyant la somme de ces deux paramètres, la syntaxe sera la suivante :
lambda x, y: x + y
Utilisation
À notre niveau, les fonctions lambda sont plus une curiosité que véritablement utiles. Je vous les présente maintenant parce que le contexte s'y prête et que vous pourriez en rencontrer certaines sans comprendre ce que c'est.
Il vous faudra cependant attendre un peu pour que je vous montre une réelle application des lambda. En attendant, n'oubliez pas ce mot-clé et la syntaxe qui va avec on passe à la suite !
Bạn đang đọc truyện trên: Truyen247.Pro