2017-10-16 1 views
-1

Comment déclarer une liste vide en tant que membre de la fonction constructeur dans une classe python?Python: Programmation orientée objet

Par exemple:

class House: 
    def __init__(self): 
     self.genome = [] 
     for i in range(0, 4): 
      self.genome.append(1) 

s = House 
print s.genome() 

Je continue à obtenir l'erreur: la maison de classe n'a pas d'attribut 'génome'? Merci.

+0

's = House' assigne le _class_ à s. 's = House()' avec les parenthèses crée une nouvelle instance et affecte cela à s. – RemcoGerlich

+0

Si vous apprenez Python à partir de zéro faites-vous une faveur et commencez avec la version 3.6, 2.7 est en train de disparaître. – RemcoGerlich

+0

Aussi 'génome' serait une liste, qui n'est pas appelable. – jonrsharpe

Répondre

1

Votre classe est ok. Vous avez juste un problème avec comment vous l'appelez:

>>> class House: 
...  def __init__(self): 
...   self.genome = [] 
...   for i in range(0, 4): 
...    self.genome.append(1) 
... 
>>> s=House() 
>>> s.genome 
[1, 1, 1, 1]