En Python, lors de la création d'une fonction qui accepte n'importe quel nombre d'arguments, préfixez les arguments avec \ * ou \ * \ *.
Du côté de la fonction, si vous ajoutez \ *, il devient Tuple, et si vous ajoutez \ * \ *, il sera reçu dans Dictionary. Du point de vue de l'appelant, lors du passage par Tuple, il n'y a pas de mot-clé, et lors du passage par Dictionary, il y a Mot-clé.
def func1(*param1):
print(param1)
def func2(**param1):
print(param1)
In [3]: func1(1,2,3,4,5)
(1, 2, 3, 4, 5)
In [4]: func2(a=1,b=2,c=3,d=4,e=5)
{'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4}
Unpacking Argument
Lorsque vous souhaitez remettre le contenu du tuple séparément
Les résultats de func1 (* t1)
et func1 (0,1,2)
sont les mêmes.
Pour le dictionnaire, utilisez **.
In [13]: t1 = (0,1,2)
In [14]: func1(*t1)
(0, 1, 2)
In [15]: func1(0,1,2)
(0, 1, 2)
In [16]: func1(t1)
((0, 1, 2),)
Les détails peuvent être trouvés ici [https://docs.python.org/dev/tutorial/controlflow.html#keyword-arguments).
Recommended Posts