Commençons avec une fonction "classique" :
def f(x, y):
print "x =", x
print "y =", y
On peut l'appeler "comme d'habitude", on dit qu'on passe les paramètres par position (premier paramètre, deuxième paramètre, ...) :
f(12, 42)
On peut aussi passer les paramètres en spécifiant explicitement leur nom (passage par nom) :
f(x=333, y=321)
Du coup, l'odre n'a plus d'importance, on peut passer y avant x :
f(y=123, x=456)
Bien sûr, si on oublie un paramètre, Python n'est pas content :
f(y=123)
Par contre, les fonctions peuvent avoir des paramètres optionnels s'ils ont une valeur par défaut. Par exemple, g
fait la même chose que f
mais accepte qu'on omette un paramètre : ce paramètre aura la valeur 0
:
def g(x=0, y=0):
print "x =", x
print "y =", y
Voyons comment g
se comporte :
g()
g(y=42)
g(x=12)
g(1, 2)
g(1)