Maison >développement back-end >Tutoriel Python >Comment transmettre des fonctions comme arguments en Python ?

Comment transmettre des fonctions comme arguments en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-15 09:50:02201parcourir

How Can You Pass Functions as Arguments in Python?

Passer des fonctions comme arguments en Python : démystifier les rappels de fonctions

En Python, les fonctions peuvent servir d'arguments à d'autres fonctions, un concept connu sous le nom de rappels de fonctions. Cette fonctionnalité permet l'exécution dynamique de code basé sur la fonction transmise.

Pour passer une fonction en argument, spécifiez le nom de la fonction sans parenthèses. Par exemple, considérons ce qui suit :

def myfunc(anotherfunc, extraArgs):
    anotherfunc(*extraArgs)

Dans cet exemple, myfunc accepte deux arguments : anotherfunc (la fonction à appeler) et extraArgs (un tuple d'arguments).

Pour appeler la fonction transmise dans myfunc, utilisez l'opérateur splat (*) pour décompresser le tuple extraArgs en tant qu'arguments pour une autre fonction. L'exemple suivant illustre comment utiliser myfunc :

def x(a, b):
    print('a:', a, 'b:', b)

def y(z, t):
    z(*t)

y(x, ('hello', 'manuel'))

Dans cet exemple, y appelle x avec les arguments 'hello' et 'manuel'. Le résultat sera :

a: hello b: manuel

Les rappels de fonctions offrent une flexibilité dans la conception du code, permettant l'exécution de fonctions spécifiques en fonction du contexte et des arguments fournis. Cette approche est particulièrement utile dans la programmation asynchrone, la gestion des événements et la création de fonctions d'ordre supérieur.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn