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

Comment puis-je passer des fonctions comme arguments en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-15 09:43:02812parcourir

How can I pass functions as arguments in Python?

Passer des fonctions comme arguments en Python

En Python, il est possible de passer une fonction comme argument à une autre fonction, permettant une dynamique et une exécution de code flexible. Cette technique est couramment utilisée dans les rappels, où une fonction est passée en paramètre pour être appelée ultérieurement.

Pour y parvenir, une fonction peut accepter une autre fonction comme argument. La signature d'une telle fonction peut ressembler à :

def myfunc(anotherfunc, extraArgs):
    # ...

où anotherfunc est la fonction transmise et extraArgs sont tous les arguments supplémentaires à transmettre.

Pour appeler la fonction transmise dans myfunc, utilisez la syntaxe suivante :

anotherfunc(*extraArgs)

Cette syntaxe garantit que les arguments transmis sont décompressés et transmis à l'appel de fonction.

Par exemple, considérons le code suivant :

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

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

y(x, ('hello', 'manuel'))

Dans cet exemple, x est la fonction transmise et ('hello', 'manuel') sont les arguments supplémentaires. Lorsqu'il est appelé, y transmet ces arguments à x, qui imprime ensuite les valeurs fournies.

En tirant parti de cette technique, vous pouvez créer un code hautement flexible et réutilisable qui vous permet d'exécuter dynamiquement différentes fonctions en fonction de conditions ou d'utilisateurs spécifiques. entrée.

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