Contenu du cours
Tutoriel sur les Fonctions Python
Tutoriel sur les Fonctions Python
Arguments Arbitraires
Nous avons déjà exploré les arguments positionnels et optionnels des fonctions. Cependant, que faire lorsque de nombreux arguments sont nécessaires, ou lorsqu'on n'est pas certain de tous les arguments à passer à une fonction ? Ce problème peut être résolu en utilisant des arguments arbitraires (arguments de longueur variable). Ces arguments permettent à une fonction d'accepter un nombre indéfini d'arguments. Cela est particulièrement utile lorsque vous souhaitez définir une fonction qui peut accepter un nombre variable de valeurs d'entrée sans spécifier à l'avance le nombre exact d'arguments.
Note
N'oubliez pas que chaque argument peut être une structure de données, telle qu'une liste ou un dictionnaire. Vous pouvez passer un nombre arbitraire de telles structures en utilisant des arguments arbitraires.
En Python, vous pouvez définir des arguments arbitraires en tant qu'argument positionnel unique en plaçant un astérisque *
devant le nom de l'argument. Voici un exemple:
# 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, nous avons utilisé *
pour déclarer que la variable values
contient plusieurs arguments arbitraires et est interprétée comme un tuple. Ensuite, nous avons utilisé la fonction intégrée sum
pour calculer la somme. Nous pouvons constater que le résultat est correct pour tous les exemples, et nous n'avons pas à spécifier le nombre d'arguments directement. Note que nous utilisons cet argument par son nom sans *
dans le corps de la fonction.
Note
Pour définir un tuple d'arguments arbitraires, il suffit d'utiliser
*
avant le nom de l'argument. Toutefois, il est recommandé d'utiliser la construction*args
. Cela améliore l'interprétabilité et la lisibilité du code.
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])
Comme vous pouvez le constater dans les 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 ceux-ci sont stockés dans le tuple, par exemple
(1, 2, 3, 'hello', [4, 5, 6])
.
Avec *args
, vous pouvez travailler avec les valeurs exactement comme avec n'importe quel autre tuple en Python.
Swipe to start coding
Écrivez une fonction qui calcule la valeur moyenne d'un nombre arbitraire d'arguments. Utilisez args
comme nom d'argument quelconque.
Solution
Merci pour vos commentaires !
Arguments Arbitraires
Nous avons déjà exploré les arguments positionnels et optionnels des fonctions. Cependant, que faire lorsque de nombreux arguments sont nécessaires, ou lorsqu'on n'est pas certain de tous les arguments à passer à une fonction ? Ce problème peut être résolu en utilisant des arguments arbitraires (arguments de longueur variable). Ces arguments permettent à une fonction d'accepter un nombre indéfini d'arguments. Cela est particulièrement utile lorsque vous souhaitez définir une fonction qui peut accepter un nombre variable de valeurs d'entrée sans spécifier à l'avance le nombre exact d'arguments.
Note
N'oubliez pas que chaque argument peut être une structure de données, telle qu'une liste ou un dictionnaire. Vous pouvez passer un nombre arbitraire de telles structures en utilisant des arguments arbitraires.
En Python, vous pouvez définir des arguments arbitraires en tant qu'argument positionnel unique en plaçant un astérisque *
devant le nom de l'argument. Voici un exemple:
# 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, nous avons utilisé *
pour déclarer que la variable values
contient plusieurs arguments arbitraires et est interprétée comme un tuple. Ensuite, nous avons utilisé la fonction intégrée sum
pour calculer la somme. Nous pouvons constater que le résultat est correct pour tous les exemples, et nous n'avons pas à spécifier le nombre d'arguments directement. Note que nous utilisons cet argument par son nom sans *
dans le corps de la fonction.
Note
Pour définir un tuple d'arguments arbitraires, il suffit d'utiliser
*
avant le nom de l'argument. Toutefois, il est recommandé d'utiliser la construction*args
. Cela améliore l'interprétabilité et la lisibilité du code.
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])
Comme vous pouvez le constater dans les 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 ceux-ci sont stockés dans le tuple, par exemple
(1, 2, 3, 'hello', [4, 5, 6])
.
Avec *args
, vous pouvez travailler avec les valeurs exactement comme avec n'importe quel autre tuple en Python.
Swipe to start coding
Écrivez une fonction qui calcule la valeur moyenne d'un nombre arbitraire d'arguments. Utilisez args
comme nom d'argument quelconque.
Solution
Merci pour vos commentaires !