«Le moindre étonnement» et l'argument par défaut de Mutable

Quiconque bricole avec Python depuis assez longtemps a été mordu (ou déchiré en morceaux) par le problème suivant: def foo(a=[]): a.append(5) return a Novices Python s'attendent cette fonction pour revenir toujours une liste avec un seul élément: [5]. Le résultat est au contraire très différent, et...