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

bookArguments Arbitraires

Nous avons déjà examiné les arguments positionnels et optionnels d'une fonction. Cependant, que faire lorsqu'il y a de nombreux arguments, ou lorsque l'on n'est pas certain de tous les arguments devant être transmis à une fonction ? Ce problème peut être résolu à l'aide des arguments arbitraires (arguments de longueur variable). Ces arguments permettent à une fonction d'accepter un nombre indéfini d'arguments. Cela s'avère particulièrement utile lorsque l'on souhaite définir une fonction pouvant recevoir un nombre variable de valeurs en entrée sans préciser à l'avance le nombre exact d'arguments.

Note
Remarque

Rappel : chaque argument peut être une structure de données, telle qu'une liste ou un dictionnaire. Il est possible de transmettre un nombre arbitraire de telles structures en utilisant des arguments arbitraires.

En Python, il est possible de définir des arguments arbitraires comme un seul argument positionnel en plaçant un astérisque * devant le nom de l'argument. Voici un exemple :

12345678
# Define function with arbitrary 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

Dans le code ci-dessus, le symbole * est utilisé pour indiquer que la variable values contient plusieurs arguments arbitraires et est interprétée comme un tuple. Ensuite, la fonction intégrée sum est utilisée pour calculer la somme. Le résultat est correct pour tous les exemples, et il n'est pas nécessaire de spécifier explicitement le nombre d'arguments. Remarque : cet argument est utilisé par son nom sans le * dans le corps de la fonction.

Note
Remarque

Pour définir un tuple d'arguments arbitraires, il suffit d'utiliser * avant le nom de l'argument. Cependant, il est recommandé d'utiliser la construction *args. Cela améliore l'interprétabilité et la lisibilité du code.

123456789101112131415161718
def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Comme vous pouvez le constater à partir des résultats :

  • Lorsque la fonction est appelée sans aucun argument, args sera un tuple vide ().
  • Lorsque la fonction est appelée avec un argument, args sera un tuple contenant un seul élément (1,).
  • Lorsque la fonction est appelée avec plusieurs arguments, tous sont stockés dans le tuple, par exemple (1, 2, 3, 'hello', [4, 5, 6]).

Avec *args, il est possible de manipuler les valeurs comme avec n'importe quel autre tuple en Python.

Tâche

Swipe to start coding

Implémenter 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. Utiliser des arguments arbitraires nommés prices dans la fonction calculate_total.
  2. Si aucun argument n'est fourni, retourner "Your cart is empty.".
  3. Appliquer une remise de 20 % si le total est supérieur ou égal à 200 $.
  4. Appliquer 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

close

Awesome!

Completion rate improved to 4.35

bookArguments Arbitraires

Glissez pour afficher le menu

Nous avons déjà examiné les arguments positionnels et optionnels d'une fonction. Cependant, que faire lorsqu'il y a de nombreux arguments, ou lorsque l'on n'est pas certain de tous les arguments devant être transmis à une fonction ? Ce problème peut être résolu à l'aide des arguments arbitraires (arguments de longueur variable). Ces arguments permettent à une fonction d'accepter un nombre indéfini d'arguments. Cela s'avère particulièrement utile lorsque l'on souhaite définir une fonction pouvant recevoir un nombre variable de valeurs en entrée sans préciser à l'avance le nombre exact d'arguments.

Note
Remarque

Rappel : chaque argument peut être une structure de données, telle qu'une liste ou un dictionnaire. Il est possible de transmettre un nombre arbitraire de telles structures en utilisant des arguments arbitraires.

En Python, il est possible de définir des arguments arbitraires comme un seul argument positionnel en plaçant un astérisque * devant le nom de l'argument. Voici un exemple :

12345678
# Define function with arbitrary 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

Dans le code ci-dessus, le symbole * est utilisé pour indiquer que la variable values contient plusieurs arguments arbitraires et est interprétée comme un tuple. Ensuite, la fonction intégrée sum est utilisée pour calculer la somme. Le résultat est correct pour tous les exemples, et il n'est pas nécessaire de spécifier explicitement le nombre d'arguments. Remarque : cet argument est utilisé par son nom sans le * dans le corps de la fonction.

Note
Remarque

Pour définir un tuple d'arguments arbitraires, il suffit d'utiliser * avant le nom de l'argument. Cependant, il est recommandé d'utiliser la construction *args. Cela améliore l'interprétabilité et la lisibilité du code.

123456789101112131415161718
def example_function(*args): # Print the type of args print(f'Type of args: {type(args)}') # Print the whole tuple print(f'Args tuple: {args}') # Iterate over the tuple for arg in args: print(arg) # Call the function without any arguments print("Call without arguments:") example_function() # Call the function with one argument print("\nCall with one argument:") example_function(1) # Call the function with multiple arguments print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
copy

Comme vous pouvez le constater à partir des résultats :

  • Lorsque la fonction est appelée sans aucun argument, args sera un tuple vide ().
  • Lorsque la fonction est appelée avec un argument, args sera un tuple contenant un seul élément (1,).
  • Lorsque la fonction est appelée avec plusieurs arguments, tous sont stockés dans le tuple, par exemple (1, 2, 3, 'hello', [4, 5, 6]).

Avec *args, il est possible de manipuler les valeurs comme avec n'importe quel autre tuple en Python.

Tâche

Swipe to start coding

Implémenter 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. Utiliser des arguments arbitraires nommés prices dans la fonction calculate_total.
  2. Si aucun argument n'est fourni, retourner "Your cart is empty.".
  3. Appliquer une remise de 20 % si le total est supérieur ou égal à 200 $.
  4. Appliquer 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