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!