ConsigneFonction `puissance(n, exp=2)` qui retourne n ** exp
Une valeur par défaut permet de rendre un paramètre optionnel : si l'appelant ne le fournit pas, la valeur par défaut est utilisée.
Syntaxe
def nom(param_obligatoire, param_optionnel=valeur_par_defaut): ...Les paramètres avec valeur par défaut doivent venir après ceux sans valeur par défaut.
def f(a, b=1): ✅
def f(a=1, b): ❌ SyntaxError
Exemple
def puissance(n, exp=2): return n ** exppuissance(3) → 9 (exp prend la valeur par défaut 2 → 3²)puissance(2, 10) → 1024 (exp=10 explicitement → 2¹⁰)puissance(5, exp=3) → 125 (forme nommée, plus lisible)positionnel : passé dans l'ordre des paramètres f(5, 10, 'rouge')nommé : passé avec param=valeur (peu importe l'ordre) f(taille=10, couleur='rouge', x=5)Mélange autorisé, mais positionnels d'abord puis nommés :
f(5, couleur='rouge', taille=10) ✅
Ne jamais mettre [] ou {} comme valeur par défaut, car la liste est partagée entre tous les appels :
def ajoute(x, liste=[]): # ❌ piège liste.append(x) return listeajoute(1) → [1]ajoute(2) → [1, 2] (on attendait [2] !)La bonne forme
def ajoute(x, liste=None): if liste is None: liste = [] liste.append(x) return listeEnvie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →