Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Le piege du paramètre mutable par défaut
C'est probablement le piege le plus celebre de Python. Quand tu donnes une valeur par défaut mutable (comme une liste) a un paramètre de fonction, cette valeur est créée UNE SEULE FOIS, au moment ou Python lit la definition de la fonction. Pas a chaque appel.
Résultat : tous les appels qui utilisent la valeur par défaut partagent le meme objet.
def ajouter(élément, liste=[]): liste.append(élément) return liste
print(ajouter('a')) # ['a'] print(ajouter('b')) # ['a', 'b'] -- la meme liste !
La solution classique : utiliser None comme valeur par défaut, puis créer la liste dans le corps de la fonction si besoin.
Écris une fonction créer_equipe(nom, membres=None) qui crée un dictionnaire representant une equipe. Si aucune liste de membres n'est fournie, utilise une liste vide. La fonction doit renvoyer {'nom': nom, 'membres': membres, 'taille': len(membres)}.
Le piege a eviter : si deux appels sans membres partagent la meme liste, ajouter un membre a l'une affecterait l'autre.