我有一个基类,我想从中创建许多子类。子类的不同之处仅在于实例化期间用于调用基类的参数。下面的例子展示了如何创建一个子类Apple
。有没有办法以编程方式执行此操作,而无需编写子类的__init__
方法?这似乎是元类的工作,但在这种情况下,我无法修改基类。
apple = {'color': 'red', 'shape': 'sphere'}
pear = {'color': 'yellow', 'shape': 'cone'}
melon = {'color': 'green', 'shape': 'prolate'}
class Fruit(object):
def __init__(self, color, shape):
self.color = color
self.shape = shape
class Apple(Fruit):
def __init__(self):
Fruit.__init__(self, **apple)