Arguments optionnels en Python

  1. Fonction python avec plusieurs arguments optionnels
  2. Rendre les arguments optionnels en Python
  3. Conclusion :

En python, il existe ce qu’on appelle un argument par défaut. Il est également connu sous le nom d’argument optionnel ou de paramètre optionnel en python. Un argument ou un paramètre ont tous deux la même signification. Vous pouvez utiliser ces mots de manière interchangeable. Un argument ou un paramètre est une entrée que prend une fonction.

Fonction python avec plusieurs arguments optionnels

Chaque fois que vous appelez une fonction, vous devez passer des arguments à cette fonction selon qu’une fonction prend des arguments ou non. Il n’est pas obligatoire de passer un argument à une fonction. Une fonction peut ne prendre aucun argument ou prendre un nombre quelconque d’arguments (selon la façon dont la fonction est définie). Il y a deux façons de passer en argument multiple.

Utiliser des *args (arguments non liés à des mots-clés)

# Function Defination
def myfunction(first_name, last_name, *args):
    print(first_name)
    print(last_name)
    for argument in args:
        print(argument)

# Calling the Function 
myfunction('Tim','White',999888999,30)

Production :

Tim
White
999888999
30

Utiliser les **kargs (Arguments par mots-clés)

def myFunction(**kwargs):
    #printing all values which are passed in as an argument 
    for key, value in kwargs.items(): 
        print ("%s = %s" %(key, value)) 

# Calling the Function 
myFunction(first_name='Tim', last_name='White', mob=99999999, age='30')

Production :

first_name = Tim
last_name = White
mob = 99999999
age = 30

Les *args et les **kargs sont tous deux des arguments de longueur variable qui sont utilisés pour passer le nombre variable d’arguments à une fonction.

Lorsque vous créez une fonction, vous devez définir le nombre de paramètres ou d’arguments qu’elle prendra en entrée. Ces paramètres sont appelés arguments formels. Et chaque fois que vous appelez cette fonction, vous devez lui transmettre certaines valeurs, et ces valeurs sont appelées des arguments réels.

Rendre les arguments optionnels en Python

Disons que vous avez une fonction qui prend trois arguments ou paramètres name, number et age comme entrée.

# Function Defination
def personalDetails(name, number, age):
    print("This function takes 3 parameters as input")

Si vous voulez appeler la fonction personalDetails, vous devez passer les 3 paramètres en entrée à cette fonction.

def personalDetails(name, number, age):
    print("This function takes 3 parameters as input")
    print("Name: ",name)
    print("Number: ",number)
    print("Age: ", age)
    
# Calling the function
personalDetails('Adam', 987654321, 18)

Production :

This function takes 3 parameters as input
Name: Adam
Number: 987654321
Age: 18

Ici, lors de l’appel d’une fonction, si vous avez manqué ou oublié de passer un des paramètres, vous pouvez obtenir une erreur (TypeError : personalDetails missing a required positional argument).

Si vous ne voulez pas passer votre âge à la fonction ci-dessus comme argument, vous pouvez utiliser ce qu’on appelle un argument optionnel. Vous pouvez rendre un nombre quelconque d’arguments ou de paramètres optionnels en python. Pour rendre un argument optionnel, vous devez lui attribuer une valeur par défaut.

Ici, pour rendre l’argument age optionnel, vous pouvez ajouter une valeur par défaut à l’argument age dans la définition de la fonction pour le rendre optionnel. Dans ce cas, initialisons le avec 0 ou toute autre valeur que vous voulez. Maintenant, Python va considérer cet argument comme un argument optionnel. Ainsi, même si vous ne passez aucune valeur au paramètre age, la fonction fonction fonctionnera, et elle utilisera la valeur par défaut, qui dans ce cas est 0.

def personalDetails(name, number, age = 0):
    print("Age is now an optional argument.")
    print("Age is: ",age)

# Calling the function
personalDetails('Sam', 123456789)

Production :

Age is now an optional argument.
Age is: 0

Même si vous voulez spécifier la valeur de l’argument age en appelant la fonction personalDetails, vous pouvez le faire. Et maintenant, il prendra en compte la nouvelle valeur que vous avez spécifiée au lieu de la valeur par défaut.

def personalDetails(name, number, age = 0):
    print("Age is now an optional argument.")
    print("Age is: ",age)

# Calling the function
personalDetails('Sam', 123456789, 25)

Production :

Age is now an optional argument.
Age is: 25

Conclusion :

Chaque fois que vous initialisez un argument avec une valeur par défaut, il est connu comme un argument par défaut. Cela rend éventuellement cet argument optionnel, car il n’est plus obligatoire de passer une valeur à cet argument lors de l’appel de la fonction. C’est ce qu’on appelle un argument optionnel ou un paramètre optionnel en Python.

Mais si vous avez passé une valeur à l’argument optionnel lors de l’appel de la fonction, alors la fonction prendra cette nouvelle valeur au lieu de la valeur par défaut.

Article connexe - Python Function

  • Retourner des valeurs multiples à partir d'une fonction en Python
  • Quitter une fonction en Python