如何在Python中让类继承其父级的值?

时间:2019-12-25 22:09:04

标签: python class inheritance

以下是我要做什么的一个粗略想法:

class PlayerModel(Timeline):
    def __init__(self, name):
        self.name = name

        self.timeline_min = super(timeline_min)     # I don't know the syntax for this
        self.timeline_max = super(timeline_max)     # I don't know the syntax for this


class Timeline:
    def __init__(self):
        self.timeline_min = 0
        self.timeline_max = 120

    def make_model(self, m_name):
        return PlayerModel(m_name)

我希望PlayerModel具有与Timeline相同的属性:

self.timeline_min = 0
self.timeline_max = 120

位于__init__中,而不必将它们作为参数传递。我可以使用super()来实现吗?我找不到一种方法来处理父级变量。

1 个答案:

答案 0 :(得分:5)

您应该通过调用Timeline来让__init__进行设置:

class PlayerModel(Timeline):
    def __init__(self, name):
        super().__init__()
        self.name = name

除非您在子__init__方法中显式调用父构造函数,否则Python仅假定您只是想覆盖父构造函数。