Explication détaillée des fonctions anonymes en Python
Python est un langage de programmation de haut niveau, orienté objet, hautement évolutif et a été largement utilisé dans les calculs mathématiques, le traitement des données et d'autres domaines. Python prend en charge la programmation fonctionnelle, dans laquelle les fonctions anonymes constituent une partie importante de la programmation fonctionnelle. Cet article présentera en détail les fonctions anonymes en Python.
Qu'est-ce qu'une fonction anonyme ?
La fonction anonyme, également appelée fonction lambda, est une fonction sans nom de fonction. Il s'agit d'une fonction unique qui est définie en cas de besoin et supprimée après utilisation. Par exemple, nous pouvons définir une fonction anonyme simple comme celle-ci :
lambda x: x**2
La signification de la fonction anonyme ci-dessus est de passer un paramètre x et de renvoyer le carré de x. Notez qu'il n'y a pas de nom de fonction ici et que le mot-clé lambda est utilisé pour représenter la fonction anonyme.
La structure grammaticale de la fonction lambda
La structure grammaticale de la fonction lambda est :
lambda arguments: expression
Parmi eux, les arguments représentent les paramètres transmis et l'expression est l'expression. Comme dans l’exemple précédent, les arguments sont x et l’expression est le carré de x.
De plus, la fonction lambda peut avoir plusieurs paramètres, séparés par des virgules, par exemple :
lambda x, y: x + y
La signification de la fonction lambda ci-dessus est de passer deux paramètres x et y et de renvoyer leur somme.
Utiliser les fonctions lambda
Il existe de nombreuses façons d'utiliser les fonctions anonymes en Python. Voici quelques méthodes courantes.
1. Attribuez la fonction lambda à une variable
Nous pouvons attribuer une fonction lambda à une variable, puis appeler la fonction anonyme via le nom de la variable. Par exemple :
f = lambda x: x**2 print(f(4)) # 输出16
Le code ci-dessus définit une fonction lambda, l'assigne à la variable f, puis appelle f(4) pour renvoyer la valeur carrée de 4, 16.
2. Passer d'autres fonctions en tant que paramètres
Lors de l'appel d'autres fonctions, nous pouvons passer la fonction lambda en tant que paramètre pour exécuter différentes fonctions. Par exemple :
def apply(func, n): return func(n) print(apply(lambda x: x**2, 5)) # 输出25
Dans le code ci-dessus, la fonction apply accepte deux paramètres, le premier paramètre est une fonction et le deuxième paramètre est un nombre. Lorsque le deuxième paramètre (ici le chiffre 5) est passé, cette fonction sera appelée comme premier paramètre, en passant le chiffre 5 comme paramètre. L'expression de la fonction lambda x**2 est transmise à la fonction apply comme premier argument, donc 25 est affiché.
3. Utilisation en combinaison avec d'autres fonctions
La fonction lambda est souvent utilisée en combinaison avec d'autres fonctions, telles que la fonction de filtre et la fonction de carte. La fonction de filtre prend une liste (ou un autre objet itérable) comme premier paramètre et renvoie une nouvelle liste contenant uniquement les éléments qui remplissent la condition. La fonction map prend une liste (ou autre objet itérable) comme premier paramètre et renvoie une nouvelle liste traitée par la fonction.
Par exemple, le code suivant démontre l'utilisation de la combinaison de la fonction filter et de la fonction lambda :
my_list = [1, 3, 5, 6, 8, 9] filtered_list = list(filter(lambda x: x % 3 == 0, my_list)) print(filtered_list) # 输出[3, 6, 9]
Dans le code ci-dessus, la fonction filter est utilisée pour filtrer la liste my_list, et la fonction lambda est utilisée pour renvoyer des éléments divisibles par 3, et enfin le résultat est attribué à filtered_list .
Conclusion
Cet article présente la définition, la structure syntaxique et l'utilisation des fonctions anonymes en Python. Les fonctions anonymes sont souvent utilisées en combinaison avec d'autres fonctions pour simplifier le code et améliorer la lisibilité du code. Maîtriser l'utilisation de fonctions anonymes peut contribuer à améliorer la qualité du code et l'efficacité du travail.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!