【发布时间】:2018-09-25 14:22:42
【问题描述】:
我必须解决问题。我有一个数据输入,其中定义了一个类型(以下示例中为动物)。基于这种类型,我需要不同的子类,因为我希望根据类型具有不同的属性。这是一个例子:
class pet:
def __init__(self, dict):
self.name = dict['name']
self.type = dict['type']
class dog(pet):
def __init__(self, dict):
pet.__init__(self, dict)
self.weight = dict['weight']
class cat(pet):
def __init__(self, dict):
pet.__init__(self, dict)
self.color = dict['color']
if __name__ == '__main__':
pet1 = {'name': 'Harry', 'type': 'dog', 'weight': 100}
pet2 = {'name': 'Sally', 'type': 'cat', 'color': 'blue'}
mypet1 = pet(pet1)
mypet2 = pet(pet2)
我想根据类型参数自动将宠物对象转换为狗或猫。最后一点至关重要,因为会有很多宠物,我无法手动读取类型并显式使用相应的子类。 有没有办法做到这一点?
提前致谢
【问题讨论】:
-
例如,
type(mypet1)就是dog? -
是的。你是对的。
标签: python class object subclass