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

Comment transmettre des fonctions avec des arguments en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-23 07:14:02687parcourir

How to Pass Functions with Arguments in Python?

Passer des fonctions avec des arguments en Python

En Python, les fonctions peuvent être traitées comme des objets de première classe, ce qui leur permet d'être transmises en tant qu'arguments à d'autres fonctions. Cependant, lors de la transmission de fonctions avec des arguments, une approche différente est requise par rapport à la simple transmission du nom de la fonction.

Pour transmettre une fonction avec des arguments à une autre fonction, vous pouvez utiliser l'opérateur astérisque de Python (*). Cet opérateur peut être utilisé pour collecter des arguments arbitraires dans un tuple.

Voici un exemple :

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

# Define functions with arguments
def action1():
    # Some action

def action2(p):
    # Some action with parameter 'p'

def action3(p, r):
    # Some action with parameters 'p' and 'r'

# Call perform function with different functions and arguments
perform(action1)
perform(action2, p)
perform(action3, p, r)</code>

Dans cet exemple, la fonction perform prend deux paramètres : une fonction fun et un nombre arbitraire d'arguments désignés par *args. Il appelle ensuite la fonction passée fun avec les arguments fournis à l'aide du déballage du tuple *args.

En utilisant cette approche, vous pouvez transmettre des fonctions avec des arguments à d'autres fonctions en Python, offrant ainsi une plus grande flexibilité et une plus grande réutilisabilité du code.

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