Arguments 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.
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))
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.
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.
123456789101112131415161718def 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])
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.
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.
- Utiliser des arguments arbitraires nommés prices dans la fonction
calculate_total
. - Si aucun argument n'est fourni, retourner
"Your cart is empty."
. - Appliquer une remise de 20 % si le total est supérieur ou égal à 200 $.
- Appliquer 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
Awesome!
Completion rate improved to 4.35
Arguments 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.
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))
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.
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.
123456789101112131415161718def 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])
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.
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.
- Utiliser des arguments arbitraires nommés prices dans la fonction
calculate_total
. - Si aucun argument n'est fourni, retourner
"Your cart is empty."
. - Appliquer une remise de 20 % si le total est supérieur ou égal à 200 $.
- Appliquer une remise de 10 % si le total est supérieur ou égal à 100 $.
Solution
Merci pour vos commentaires !
single