Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Arguments Positionnels Arbitraires | Arguments Arbitraires
Tutoriel sur les Fonctions Python

bookArguments 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.

Note
Remarque

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

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.

Note
Remarque

Bien que n'importe quel nom fonctionne, la forme courante et lisible est *args.

1234567891011121314
def 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])
copy

Comme illustré :

  • Aucun argument → args est () ;
  • 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.

Tâche

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.

  1. Utilisez des arguments positionnels arbitraires nommés prices dans la fonction calculate_total.
  2. Si aucun argument n'est fourni, retournez "Your cart is empty.".
  3. Appliquez une remise de 20 % si le total est supérieur ou égal à 200 $.
  4. Appliquez une remise de 10 % si le total est supérieur ou égal à 100 $.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

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?

close

bookArguments 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.

Note
Remarque

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

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.

Note
Remarque

Bien que n'importe quel nom fonctionne, la forme courante et lisible est *args.

1234567891011121314
def 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])
copy

Comme illustré :

  • Aucun argument → args est () ;
  • 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.

Tâche

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.

  1. Utilisez des arguments positionnels arbitraires nommés prices dans la fonction calculate_total.
  2. Si aucun argument n'est fourni, retournez "Your cart is empty.".
  3. Appliquez une remise de 20 % si le total est supérieur ou égal à 200 $.
  4. Appliquez une remise de 10 % si le total est supérieur ou égal à 100 $.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
single

single

some-alt