Mauvaise compréhension du partage d'attributs en héritage de classes
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:
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