Arguments
Dans la rubrique Fonction définie par l’utilisateur, nous avons appris à définir une fonction et à l’appeler. Sinon, l’appel de fonction entraînera une erreur. Ici est un exemple.
Sortie
Hello Monica, Good morning!
Ici, la fonction greet()
possède deux paramètres.
Puisque nous avons appelé cette fonction avec deux arguments, elle fonctionne bien et nous n’obtenons aucune erreur.,
Si nous l’appelons à un nombre variable d’arguments, l’interprète va afficher un message d’erreur. Voici un appel à cette fonction avec un et aucun argument avec leurs messages d’erreur respectifs.
>>> greet("Monica") # only one argumentTypeError: greet() missing 1 required positional argument: 'msg'
>>> greet() # no argumentsTypeError: greet() missing 2 required positional arguments: 'name' and 'msg'
Arguments de fonction variable
Jusqu’à présent, les fonctions avaient un nombre fixe d’arguments. En Python, il existe d’autres façons de définir une fonction qui peut prendre un nombre variable d’arguments.
Trois formes différentes de ce type sont décrits ci-dessous.,
Arguments par défaut Python
Les arguments de fonction peuvent avoir des valeurs par défaut en Python.
Nous pouvons fournir une valeur par défaut à un argument en utilisant l’opérateur d’affectation (=). Ici est un exemple.
Sortie
Hello Kate, Good morning!Hello Bruce, How do you do?
Dans cette fonction, le paramètre name
ne pas avoir de valeur par défaut et est nécessaire (obligatoire) lors d’un appel.,
d’autre part, le paramètre msg
a une valeur par défaut de "Good morning!"
. Il est donc facultatif lors d’un appel. Si une valeur est fournie, elle écrasera la valeur par défaut.
n’Importe quel nombre d’arguments dans une fonction peut avoir une valeur par défaut. Mais une fois que nous avons un argument par défaut, tous les arguments à sa droite doivent également avoir des valeurs par défaut.
Cela signifie que les arguments non par défaut ne peuvent pas suivre les arguments par défaut., Par exemple, si nous avons défini la fonction d’en-tête ci-dessus:
def greet(msg = "Good morning!", name):
Nous recevrait un message d’erreur:
SyntaxError: non-default argument follows default argument
Python mot-Clé Arguments
Quand on appelle une fonction avec des valeurs, ces valeurs sont attribuées aux arguments en fonction de leur position.
Python permet d’appeler des fonctions à l’aide d’arguments de mots clés. Lorsque nous appelons des fonctions de cette manière, l’ordre (position) des arguments peut être modifié. Les appels suivants à la fonction ci-dessus sont tous valides et produisent le même résultat.,
Comme nous pouvons le voir, nous pouvons mélanger des arguments positionnels avec des arguments de mots clés lors d’un appel de fonction. Mais nous devons garder à l’esprit que les arguments de mots clés doivent suivre les arguments positionnels.
Avoir un argument positionnel après les arguments de mots clés entraînera des erreurs. Par exemple, l’appel de la fonction comme suit:
greet(name="Bruce","How do you do?")
provoquera une erreur:
SyntaxError: non-keyword arg after keyword arg
Python Arguments Arbitraires
Parfois, nous ne savons pas à l’avance le nombre d’arguments susceptibles d’être passé dans une fonction., Python nous permet de gérer ce genre de situation grâce à des appels de fonction avec un nombre arbitraire d’arguments.
Dans la définition de la fonction, nous utilisons un astérisque (*) avant le nom du paramètre pour désigner ce type d’argument. Ici est un exemple.
Sortie
Hello MonicaHello LukeHello SteveHello John
Ici, nous avons appelé la fonction à plusieurs arguments. Ces arguments sont enveloppés dans un tuple avant d’être passés dans la fonction. À l’intérieur de la fonction, nous utilisons une boucle for
pour récupérer tous les arguments.
Laisser un commentaire