class Ball:
a = []
def __init__(self):
pass
def add(self,thing):
self.a.append(thing)
def size(self):
print len(self.a)
for i in range(3):
foo = Ball()
foo.add(1)
foo.add(2)
foo.size()
j'attendre à un retour de:Pourquoi les nouvelles instances d'une classe partagent-elles des membres avec d'autres instances?
2
2
2
Mais je reçois:
2
4
6
Pourquoi est-ce? J'ai trouvé qu'en faisant a = [] dans le init, je peux contourner ce problème, mais je ne comprends pas pourquoi.
C'est probablement à votre éditeur ... quel éditeur et quelle plateforme? –
La complétion de code est difficile à implémenter sous Python. – user32141
Veuillez poser une nouvelle question sur l'attribut classe/instance pour l'achèvement du code. – ddaa