python类继承理解

时间:2014-04-01 15:04:09

标签: python

我想更好地理解如何使用python类继承。

我在网上发现了以下问题。

  

包括家具类。在实例化期间,此类应该请求room参数。然后,创建以下从Furnishing类继承的类:SofaBookshelfBedTable

     

使用内置列表类型记录您家中与上述类别匹配的家具。例如,你可能有:

>>> from furnishings import * 
>>> home = [] 
>>> home.append(Bed('Bedroom'))
>>> home.append(Sofa('Living Room')) 
  

现在,编写一个map_the_home()函数将其转换为内置的dict类型,其中房间是单独的键,关联的值是该房间的家具列表。如果我们针对我们在命令行中显示的内容运行该代码,我们可能会看到:

>>> map_the_home(home){'Bedroom': [<__main__.Bed object at 0x39f3b0>], 'Living Room':[<__main__.Sofa object at 0x39f3b0>]} 

我正在努力:

class Furnishing(object):

    def __init__(self, room):

        self.room = room

class Sofa(Furnishing):

    "Not sure how to get this into a dict"???

我不确定如何致电map_to_home(home)并让它返回所需的dict

1 个答案:

答案 0 :(得分:1)

这很简单:

def map_the_home(home):
    result = dict([(a.room, a) for a in home])
    return result

不是吗?