How to use super() with arguments in Python 2.7?
本问题已经有最佳答案,请猛点这里访问。
我之所以问这个问题,是因为我在谷歌上搜索过的每一个页面,似乎都变成了过于简单的案例,或者是关于超出范围的细节的随机讨论。
1 2 3 4 5 6 7 8 9 10 11 | class Base: def __init__(self, arg1, arg2, arg3, arg4): self.arg1 = arg1 self.arg2 = arg2 self.arg3 = arg3 self.arg4 = arg4 class Child(Base): def __init__(self, arg1, arg2, arg3, arg4, arg5): super(Child).__init__(arg1, arg2, arg3, arg4) self.arg5 = arg5 |
这是我试过的。我被告知我需要使用一个类型而不是Classobj,但我不知道这意味着什么,谷歌也没有帮助。
我只想让它工作。在Python2.7中,正确的做法是什么?
您的基类必须继承自
你也不应该把
1 2 3 4 5 6 7 8 9 10 11 | class Base(object): def __init__(self, arg1, arg2, arg3, arg4): self.arg1 = arg1 self.arg2 = arg2 self.arg3 = arg3 self.arg4 = arg4 class Child(Base): def __init__(self, arg1, arg2, arg3, arg4, arg5): super(Child, self).__init__(arg1, arg2, arg3, arg4) self.arg5 = arg5 |