当我运行追加到列表后view_inventory功能,附项目不显示

问题描述:

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() 

我已经追加到它与add_inventory功能,显示“钥匙”作为加入结束后测试的库存情况的库存清单,但是Hero()。view_inventory()打印出相同的结果,不包含Key。当我运行追加到列表后view_inventory功能,附项目不显示

+1

你在那里有3个不同的'英雄'实例。 – vaultah

正如vaultah在评论中指出的那样,您正在创建三个单独的Hero实例。更改如下:

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()