Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Arguments Positionnels Arbitraires en Python | Section
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Fonctions Python

bookArguments Positionnels Arbitraires en Python

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 transmis dans un tuple. À l'intérieur de la fonction, utiliser le nom de la variable sans *. Le résultat est correct quel que soit le nombre d'arguments fournis.

Note
Remarque

Bien que tout 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 se comporte comme n'importe quel autre tuple, offrant une flexibilité totale lors de 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 réductions 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 réduction de 20 % si le total est supérieur ou égal à 200 $.
  • Appliquez une réduction 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 1. Chapitre 12
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

close

bookArguments Positionnels Arbitraires en Python

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 transmis dans un tuple. À l'intérieur de la fonction, utiliser le nom de la variable sans *. Le résultat est correct quel que soit le nombre d'arguments fournis.

Note
Remarque

Bien que tout 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 se comporte comme n'importe quel autre tuple, offrant une flexibilité totale lors de 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 réductions 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 réduction de 20 % si le total est supérieur ou égal à 200 $.
  • Appliquez une réduction 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 1. Chapitre 12
single

single

some-alt