我希望能从父类创建一个子类,以减少代码冗余。例如:
我不想为所有子类再次传递参数。有没有一种方法可以从父类创建Child1和Child2?
我有30多个参数和许多子类。写出所有参数似乎非常冗余。而且,它们都与父类共享相同的参数。
class Parent():
def __init__(self, a, b, c, d, e, f, g):
self.a = a
self.b = b
...
self.g = g
class Child1(Parent):
def __init__(self, a, b, c, d, e, f, g, h, i, j, k):
super().__init__(a, b, c d, e, f, g)
self.i = i
self.j = j
self.k = k
class Child2(Parent):
def __init__(self, a, b, c, d, e, f, g, h, x, y, z):
super().__init__(a, b, c d, e, f, g)
self.x = x
self.y = y
self.z = z
我不想为所有子类再次传递参数。有没有一种方法可以从父类创建Child1和Child2?
我有30多个参数和许多子类。写出所有参数似乎非常冗余。而且,它们都与父类共享相同的参数。
functools.total_ordering
)的源代码可能会向您展示不同的选项,即使它们不是您需要的开箱即用选项。 - abarnerttype
的实例,但你很少需要考虑这个)。你所要做的是使用父类的信息来创建子类,而不是通过实例化父类来创建子类。 - abarnert