[英]DeprecationWarning: object.__init__() takes no parameters
[英]object.__init__() takes no parameters
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)
错误在这里:
class DerivedClass(AbsBaseClass):
def __init__(self,y):
super(AbsBaseClass,self).__init__(y)
# ^^^^^^^^^^^^ This should be DerivedClass, not AbsBaseClasee
另外,对于@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)
所以而不是:
super(AbsBaseClass,self).__init__(y)
做:
super(DerivedClass,self).__init__(y)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.