Bonjour à tous,

Dans la situation ci-dessous, l'attribut "test" de la classe mère ne devrait-il pas être initialisé à chaque nouvelle instance de Child ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
class Mother:
    test = []
 
    def get_test(self):
        self.test.append(1)
        return self.test
 
class Child(Mother):
    """
    """
 
for child in [Child(), Child(), Child(), Child(), Child()]
    print len(child.get_test())
Au lieu de quoi, le résultat du test donne : 1, 2, 3, 4, 5, comme si toutes les instances de Child partageaient le même attribut "test".

Cela me paraît contre-intuitif... Je fais erreur ?

Comment puis-je faire en sorte que chaque instance de Child hérite de sa propre instance de Mother ?

Merci pour vos lumières.

--
Python 2.7.3
Ubuntu 12.04