对象。不接受任何参数

2024-10-03 09:19:35 发布

您现在位置:Python中文网/ 问答频道 /正文

import abc

class AbsBaseClass(abc.ABC):
    def __init__(self,x):
        self.x=x

class DerivedClass(AbsBaseClass):
    def __init__(self,y):
        super(AbsBaseClass,self).__init__(y)


ob=DerivedClass(5)

Tags: importselfinitdefclassabcsuperob
2条回答

另外,@NPE的回答。在

  • 你正在做一个类super,它是元类,那么如果你想要的话,为什么不使用一个空的super

  • 就这样:-)。。。

所以代码变成:

import abc

class AbsBaseClass(abc.ABC):
    def __init__(self,x):
        self.x=x

class DerivedClass(AbsBaseClass):
    def __init__(self,y):
        super(DerivedClass,self).__init__(y) #!!!


ob=DerivedClass(5)

所以不是:

^{pr2}$

执行:

super(DerivedClass,self).__init__(y)

错误在这里:

class DerivedClass(AbsBaseClass):
    def __init__(self,y):
        super(AbsBaseClass,self).__init__(y)
 #            ^^^^^^^^^^^^ This should be DerivedClass, not AbsBaseClasee

相关问题 更多 >