Maison >développement back-end >Tutoriel Python >Comment functools.partial peut-il simplifier la liaison d'arguments dans les fonctions Python ?

Comment functools.partial peut-il simplifier la liaison d'arguments dans les fonctions Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 21:52:10280parcourir

How Can functools.partial Simplify Argument Binding in Python Functions?

Comment lier des arguments à des fonctions Python

La fonction functools.partial fournit un moyen pratique de lier des arguments à une fonction Python, vous permettant pour créer un nouvel appelable qui conserve tout ou partie des arguments de la fonction d'origine.

Considérez l'exemple de code extrait :

def add(x, y):
    return x + y

add_5 = functools.partial(add, 5)
assert add_5(3) == 8

Dans cet exemple, functools.partial crée une nouvelle fonction add_5 qui est une application partielle de la fonction add, avec le premier argument fixé à 5. Par conséquent, lorsque vous appelez add_5( 3), la fonction est invoquée comme add(5, 3), renvoyant la valeur attendue de 8.

La syntaxe de functools.partial est la suivante suit :

functools.partial(func, *args, **kwargs)

où :

  • func est la fonction à laquelle vous souhaitez lier des arguments
  • *args sont les arguments à lier à la fonction
  • **kwargs sont les arguments de mots-clés à lier à la fonction

La valeur renvoyée de functools.partial est un appelable qui prend les arguments non liés restants en entrée. Si vous devez lier tous les arguments à la fonction, vous pouvez utiliser l'opérateur astérisque (*) pour capturer des listes d'arguments de longueur variable.

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