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
Libérer: 2024-11-15 09:50:02
original
205 Les gens l'ont consulté

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)
Copier après la connexion

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'))
Copier après la connexion

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

a: hello b: manuel
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal