Retour au cours

Arguments arbitraires : `*args` (Positionnels)

Programmation Python : Le Bootcamp de Zéro à Héros

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')