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

Comment passer des fonctions comme arguments en Python ?

DDD
DDDoriginal
2024-11-19 03:30:021028parcourir

How to Pass Functions as Arguments in Python?

Passer des fonctions comme arguments en Python

En Python, il est possible de transmettre des fonctions comme arguments à d'autres fonctions, améliorant ainsi la flexibilité et la réutilisabilité du code . Supposons que vous ayez une fonction, myfunc, qui prend deux arguments : anotherfunc et extraArgs. Votre objectif est d'appeler anotherfunc depuis myfunc, en passant des extraArgs.

Comment passer des fonctions en tant qu'arguments

Pour passer une fonction en argument, vous pouvez simplement utiliser le nom de la fonction sans parenthèses. Par exemple, myfunc pourrait être défini comme :

def myfunc(anotherfunc, extraArgs):
    # Call `anotherfunc` here, passing it `extraArgs`
    pass

Pour transmettre une liste ou un tuple d'arguments en tant qu'extraArgs, vous pouvez utiliser l'opérateur astérisque (*) pour les décompresser. myfunc peut alors appeler une autre fonction comme suit :

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

Exemple

Considérez les fonctions suivantes :

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

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

Lorsque vous appelez y avec x comme premier argument et un tuple d'arguments comme deuxième argument, x est appelé avec ceux arguments :

>>> y(x, ('hello', 'manuel'))
a: hello b: manuel

Conclusion

Passer des fonctions en tant qu'arguments vous permet de créer du code flexible et réutilisable en Python, vous permettant d'encapsuler des fonctionnalités et de gérer divers scénarios de manière dynamique. En comprenant comment transmettre des fonctions comme arguments, vous pouvez améliorer votre code et le rendre plus adaptable aux différentes exigences.

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