Dévoilement de la signification de (double étoile) et (étoile) dans les paramètres de fonction*
En Python, fonction les paramètres désignés par args et *kwargs servent de mécanismes polyvalents pour s'adapter à des arguments.
Déballage des arguments de position avec *args
Le paramètre *args rassemble tous les arguments de position qui dépassent ceux prédéfinis dans un tuple. Par exemple :
def foo(*args): for arg in args: print(arg)
Cette fonction peut accepter un nombre arbitraire d'arguments de position, tels que :
foo(1) # Output: 1 foo(1, 2, 3) # Output: 1 2 3
Assembler des arguments de mots-clés avec kwargs**
D'un autre côté, **kwargs collecte tous les arguments de mots-clés dans un dictionnaire.
def bar(**kwargs): for key, value in kwargs.items(): print(key, value)
L'appel de cette fonction avec des arguments de mots-clés donne :
bar(name='John', age=30) # Output: name John, age 30
Interaction de args et kwargs*
Les deux idiomes peuvent être combinés pour permettre un mélange de fixe et de variable arguments :
def foo(kind, *args, bar=None, **kwargs): print(kind, args, bar, kwargs)
Cette fonction peut être appelée comme suit :
foo(123, 'a', 'b', apple='red') # Output: 123 ('a', 'b') None {'apple': 'red'}
Cas d'utilisation supplémentaires
def foo(bar, lee): print(bar, lee) baz = [1, 2] foo(*baz) # Output: 1 2
first, *rest = [1, 2, 3, 4] # first = 1 # rest = [2, 3, 4]
def func(arg1, arg2, arg3, *, kwarg1, kwarg2): pass
Cette fonction nécessite trois arguments de position et un nombre quelconque d'arguments de mots-clés après *.
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!