Les fonctions d'ordre supérieur incluent map(), filter(), réduire(), la fonction lambda, partial(), etc. Introduction détaillée : 1. map() : Cette fonction intégrée accepte une fonction et un ou plusieurs objets itérables en entrée, puis renvoie un itérateur qui applique la fonction d'entrée à chaque élément de l'objet itérable 2. filter() : Cette fonction intégrée prend une fonction et un objet itérable en entrée, et renvoie un itérateur qui produit ces éléments tels que la fonction d'entrée renvoie True, etc.
Les fonctions d'ordre supérieur en Python font généralement référence à une fonction qui accepte une ou plusieurs fonctions en entrée (paramètres) ou renvoie une fonction en sortie. Ce concept apparaît souvent dans la programmation fonctionnelle.
Voici quelques exemples de fonctions d'ordre supérieur en Python :
map() : cette fonction intégrée prend une fonction et un ou plusieurs objets itérables en entrée, et renvoie une fonction qui applique la fonction d'entrée à chacun des objets itérables. Objets itérables. Itérateur d’éléments.
def square(n): return n * n numbers = [1, 2, 3, 4, 5] squared = map(square, numbers) print(list(squared)) # Output: [1, 4, 9, 16, 25]
filter() : Cette fonction intégrée prend une fonction et un objet itérable en entrée, et renvoie un itérateur qui produit les éléments qui font que la fonction d'entrée renvoie True.
def is_even(n): return n % 2 == 0 numbers = [1, 2, 3, 4, 5] even_numbers = filter(is_even, numbers) print(list(even_numbers)) # Output: [2, 4]
reduce() : Cette fonction intégrée accepte une fonction et un objet itérable en entrée, puis utilise la fonction pour combiner les éléments de l'objet itérable deux par deux jusqu'à ce qu'il ne reste qu'un seul élément.
from functools import reduce def add(x, y): return x + y numbers = [1, 2, 3, 4, 5] sum_of_numbers = reduce(add, numbers) print(sum_of_numbers) # Output: 15
Fonction lambda : La fonction lambda est un moyen de créer des fonctions anonymes, ce qui est très approprié pour les définitions de fonctions courtes.
squared = list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) print(squared) # Output: [1, 4, 9, 16, 25]
partial() : Cette fonction du module functools est utilisée pour appliquer partiellement les paramètres de fonction.
from functools import partial def add(x, y): return x + y add_five = partial(add, 5) # Create a function that adds 5 to its argument. print(add_five(3)) # Output: 8
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!