Maison  >  Article  >  développement back-end  >  Comment transmettre des fonctions avec des arguments comme paramètres en Python ?

Comment transmettre des fonctions avec des arguments comme paramètres en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-23 07:18:29528parcourir

How to Pass Functions with Arguments as Parameters in Python?

Passer des fonctions avec des arguments à d'autres fonctions en Python

Pour une flexibilité améliorée et la réutilisabilité du code, Python offre la possibilité de transmettre des fonctions avec des arguments comme un paramètre pour d’autres fonctions. Cette technique étend les fonctionnalités d'une fonction en incorporant le comportement d'une autre fonction.

Considérez le scénario suivant dans lequel vous souhaitez créer une fonction nommée « perform » qui opère sur différents appels de fonction. Cependant, ces appels de fonction, tels que 'action1()', 'action2(p)' et 'action3(p,r)', ont leurs propres arguments.

Pour ce faire, vous pouvez utiliser le Syntaxe Python pour passer des fonctions avec des arguments :

<code class="python">def perform(fun, *args):
    fun(*args)</code>

Dans ce code, la fonction 'perform' attend deux paramètres : 'fun' (la fonction à appeler) et '*args' (la longueur variable liste d'arguments). Cette structure permet à « perform » d'accepter n'importe quel nombre d'arguments transmis à la fonction « fun » lorsqu'elle est appelée.

Voici un exemple de la façon dont vous pouvez utiliser la fonction « perform » :

<code class="python">def action1(args):
    # Perform some action

def action2(args):
    # Perform a different action

perform(action1)
perform(action2, p)
perform(action3, p, r)</code>

Dans cet exemple, la fonction « perform » est appelée avec différentes fonctions (« action1 », « action2 » et « action3 ») et les arguments correspondants. Le paramètre 'fun' fait référence à la fonction appelée, tandis que le paramètre '*args' contient les arguments transmis à cette fonction.

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