Arguments Positionnels Arbitraires
Vous connaissez déjà les arguments positionnels et optionnels. Mais lorsqu'une fonction peut recevoir de nombreux paramètres ou que vous ne les connaissez pas à l'avance, vous pouvez utiliser des arguments positionnels arbitraires. Ils permettent à une fonction d'accepter un nombre quelconque de valeurs.
Chaque argument peut être n'importe quelle structure de données (liste, dictionnaire, etc.). Les arguments arbitraires permettent de transmettre autant d'objets de ce type que nécessaire.
Pour définir des arguments positionnels arbitraires, placez un astérisque * devant le nom du paramètre. Exemple :
12345678# Define function with arbitrary positional arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
Ici, *values collecte tous les arguments positionnels passés dans un tuple. À l'intérieur de la fonction, utilisez le nom de la variable sans *. Le résultat est correct quel que soit le nombre d'arguments fournis.
Bien que n'importe quel nom fonctionne, la forme courante et lisible est *args.
1234567891011121314def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Comme illustré :
- Aucun argument →
argsest(); - Un argument →
(1,); - Plusieurs arguments → toutes les valeurs apparaissent dans un tuple, par exemple
(1, 2, 3, 'hello', [4, 5, 6]).
*args fonctionne comme n'importe quel autre tuple, offrant une flexibilité totale pour la gestion de nombreux paramètres.
Swipe to start coding
Implémentez une fonction calculate_total qui calcule le prix total des articles dans un panier, en appliquant des remises basées sur le montant total.
- Utilisez des arguments positionnels arbitraires nommés prices dans la fonction
calculate_total. - Si aucun argument n'est fourni, retournez
"Your cart is empty.". - Appliquez une remise de 20 % si le total est supérieur ou égal à 200 $.
- Appliquez une remise de 10 % si le total est supérieur ou égal à 100 $.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain the difference between positional and arbitrary positional arguments?
What happens if I mix regular arguments with *args in a function?
Can you show how to use *args with keyword arguments in the same function?
Awesome!
Completion rate improved to 4.17
Arguments Positionnels Arbitraires
Glissez pour afficher le menu
Vous connaissez déjà les arguments positionnels et optionnels. Mais lorsqu'une fonction peut recevoir de nombreux paramètres ou que vous ne les connaissez pas à l'avance, vous pouvez utiliser des arguments positionnels arbitraires. Ils permettent à une fonction d'accepter un nombre quelconque de valeurs.
Chaque argument peut être n'importe quelle structure de données (liste, dictionnaire, etc.). Les arguments arbitraires permettent de transmettre autant d'objets de ce type que nécessaire.
Pour définir des arguments positionnels arbitraires, placez un astérisque * devant le nom du paramètre. Exemple :
12345678# Define function with arbitrary positional arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
Ici, *values collecte tous les arguments positionnels passés dans un tuple. À l'intérieur de la fonction, utilisez le nom de la variable sans *. Le résultat est correct quel que soit le nombre d'arguments fournis.
Bien que n'importe quel nom fonctionne, la forme courante et lisible est *args.
1234567891011121314def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
Comme illustré :
- Aucun argument →
argsest(); - Un argument →
(1,); - Plusieurs arguments → toutes les valeurs apparaissent dans un tuple, par exemple
(1, 2, 3, 'hello', [4, 5, 6]).
*args fonctionne comme n'importe quel autre tuple, offrant une flexibilité totale pour la gestion de nombreux paramètres.
Swipe to start coding
Implémentez une fonction calculate_total qui calcule le prix total des articles dans un panier, en appliquant des remises basées sur le montant total.
- Utilisez des arguments positionnels arbitraires nommés prices dans la fonction
calculate_total. - Si aucun argument n'est fourni, retournez
"Your cart is empty.". - Appliquez une remise de 20 % si le total est supérieur ou égal à 200 $.
- Appliquez une remise de 10 % si le total est supérieur ou égal à 100 $.
Solution
Merci pour vos commentaires !
single