Maison > Article > développement back-end > Programmation fonctionnelle Python que tout le monde devrait connaître
La programmation fonctionnelle ou programmation fonctionnelle est un paradigme de programmation.
Il traite les opérations informatiques comme des opérations de fonctions mathématiques et évite l'utilisation d'états de programme et d'objets variables.
Ce qui précède ne sont que de simples concepts de programmation fonctionnelle, il nous suffit de les comprendre brièvement.
En Python, la programmation fonctionnelle consiste principalement à utiliser plusieurs fonctions : lambda(), map(), réduire(), filter(), etc.
La fonction lambda redevient une fonction anonyme. Une fonction lambda ne peut avoir qu’une seule expression et il n’est pas nécessaire d’écrire return pour renvoyer la valeur de la fonction. Bien entendu, la fonction anonyme est également un objet fonction, et la fonction anonyme peut également être affectée à une variable.
Vous pouvez également renvoyer des fonctions anonymes comme valeurs de retour
On peut voir que la variable f est un type de fonction lambda et que vous devez utiliser f() pour appeler la fonction.
La fonction map reçoit deux paramètres, l'un est une fonction et l'autre est un Interable (séquence itérable). La fonction map applique la fonction à chaque élément de la séquence tour à tour et renvoie le résultat sous forme de. nouveau Interable.
Regardez un exemple :
Une analyse de liste simple, en ajoutant 2 à chaque élément de la liste a, à l'aide de la fonction map peut être écrite comme suit :
Puisque la fonction map renvoie une séquence paresseuse, elle doit être appelé via des fonctions telles que list().
Bien que le code ci-dessus semble plus compliqué que d'écrire directement une boucle for, lorsque la quantité de données est importante, l'efficacité du for de Python n'est pas très élevée, tandis que l'efficacité de la carte peut être proche de celle du langage C. En même temps, le code est également beaucoup plus simple et ressemble à un artefact X.
Un autre petit exemple, convertissez les éléments de la liste en une chaîne, une commande
C'est un peu similaire à map, mais map est utilisé pour le parcourir un par un, tandis que le La fonction de réduction est utilisée. Calculée de manière récursive.
Une simple sommation de séquence
Sommez chaque élément de la liste a dans la séquence, et regardons un exemple de fonction int() maison
C'est l'utilisation de la fonction intégrée de Python int
us Ce qui suit peut également être obtenu grâce aux fonctions de réduction et de mappage
Utilisez d'abord la fonction map pour parcourir la liste de chaînes 23465, puis appliquez récursivement chaque élément de la liste à la fonction lambda via la fonction de réduction.
Il reçoit également une fonction et une séquence. filter() applique tour à tour la fonction transmise à chaque élément, puis décide de conserver ou de supprimer l'élément selon que la valeur de retour est True ou False. .
L'utilisation de ces fonctions peut non seulement rendre notre code plus concis, mais également améliorer considérablement l'efficacité lorsque la quantité de données est importante ou que le calcul est intensif.
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!