2016-04-29 3 views
-1
class Character(object): 

    def __init__(self): 
     self.name = "" 
     self.inventory = [] 

    def add_inventory(self, item): 
     self.inventory.append(item) 

    def view_inventory(self): 
     for i in range(len(self.inventory)): 
      print "%r. %s" % (i+1, self.inventory[i]) 


class Hero(Character): 

    def __init__(self): 
     self.name = "" 
     self.inventory = ["Torch", "Wrench", "Laser Cannon"] 

Hero().view_inventory() 
Hero().add_inventory("Key") 
Hero().view_inventory() 

ich das Inventar Instanz nach der add_inventory Funktion es anhängt getestet haben, die bis zum Ende „Key“ als hinzugefügt zeigt von der Inventarliste, aber beide Hero(). view_inventory() drucken die gleichen Ergebnisse, ohne Schlüssel enthalten.Wenn ich die view_inventory Funktion nach der Liste anhängt ausführen, wird das Anfügen Artikel nicht zeigen

+1

Was Sie dort haben, ist 3 verschiedene 'Hero' Instanzen. – vaultah

Antwort

0

Wie in den Kommentaren von vaulltah dargelegt, erstellen Sie drei separate Hero Instanzen. Ändern Sie wie folgt:

hero = Hero() # create one Hero instance 
hero.view_inventory() # and make the method calls on this very instance 
hero.add_inventory("Key") 
hero.view_inventory() 
Verwandte Themen