Arguments positionnels arbitraires (*args)
Vous avez parfois besoin d'une fonction capable d'accepter un nombre inconnu ou variable d'arguments positionnels (par exemple, une fonction qui additionne tous les nombres qui lui sont passés).
Python gère cela en utilisant *args.
Utilisation
Lorsque *args est utilisé comme paramètre, tous les arguments positionnels supplémentaires passés à la fonction sont collectés dans un tuple nommé args.
python def calculate_sum(*numbers): # 'numbers' est un tuple contenant tous les arguments passés total = 0 for n in numbers: total += n return total
Appel 1 : 3 arguments
print(calculate_sum(1, 2, 3)) # Sortie : 6
Appel 2 : 5 arguments
print(calculate_sum(10, 20, 30, 40, 50)) # Sortie : 150
Appel 3 : 0 argument
print(calculate_sum()) # Sortie : 0
Combiner avec des arguments positionnels
Si vous utilisez à la fois des paramètres réguliers et *args, les paramètres réguliers prennent les premiers arguments, et *args collecte le reste.
python def summarize(title, *items): print(f"--- {title} ---") for item in items: print(f"- {item}")
summarize("Liste de courses", 'Lait', 'Pain', 'Œufs')