我有一个类(称之为ClassC),其中一个属性是另一个类(称之为ClassB)。 ClassB实际上需要来自ClassC的数据来初始化自己,所以我使用以下语法将ClassC传递给ClassB:
class ClassC(object):
def __init__(self):
self.val = 8
self.derived_class = ClassB(self)
我看到一个错误,抱怨init()没有采取任何参数,但我只是没有看到问题可能来自何处。我没有以正确的方式使用super(),以便ClassB初始化它的基类ClassA吗?
Traceback(最近一次调用最后一次):File" python",第18行,in 文件" python",第15行,在 init 文件" python",行 9,在 init TypeError:object。 init ()不带参数
我已经复制了以下代码,您也可以run it here。
class ClassA(object):
def __init__(self, initial_class):
self.val = None
self.initial_class = initial_class
class ClassB(ClassA):
def __init__(self, initial_class):
super(ClassA, self).__init__(initial_class)
self.val = 7
class ClassC(object):
def __init__(self):
self.val = 8
self.derived_class = ClassB(self)
c = ClassC()