Bonjour,
Je suis débutant en Python, et je n'ai donc pas consulté toutes les finesses du langage, me reposant sur d'autres connaissances.
Voila une heure que je me prends la tête sur un de mes programmes, et après tests le problème peut se résumer au code suivant :
>>> class My:
... dico = {}
...
>>> a1 = My()
>>> a1.dico["name"]="flop"
>>> a2 = My()
>>> a2.dico["name"]="floc"
>>> a1.dico
{'name': 'floc'}
>>> a2.dico
{'name': 'floc'}
Apparemment, le dictionnaire "dico" est partagé par toutes les instances de la classe My, puisque la clé "name" a la valeur "floc" dans les deux cas...
Ce problème n'apparait qu'avec les dictionnaires, de simples chaines ou nombres ne sont pas partagés.
Alors j'aimerais savoir si c'est un bug, ou si le langage est implémenté et documenté comme ça, enfin bref la raison de cet étrange effet ;)
Eventuellement aussi, comment y remédier.
Voila je précise que je bosse en python 2.6.
Merci d'avance