我有一个父类名为parent
其是这样的:Python的父类的实例变量
class parent(object):
def __init__(self,p1,p2):
super(parent,self).__init__()
self.p1= p1
self.p2= p2
我还有一个子类,看起来像如下:
class child(parent):
def __init__(self,p1,p2,p3):
super(child,self).__init__()
self.p1 = p1
self.p2 = p2
self.p3 = p3
这个子类有一个额外的实例变量,称为p3
。我想要做的就是有能力用参数创建对象。这些参数用于更新类parent
的继承变量p1 & p2
及其自己的实例变量p3
。但是,当我运行上面,我得到错误:
if __name__ == "__main__":
p1 = parent('p1_parent','p2_parent')
p2 = child('p1_child','p1_child','p1_child')
错误:
TypeError: __init__() takes exactly 3 arguments (1 given)
当班级不是“Event”时,为什么要调用'super(Event,self)'?事件甚至不会出现在继承层次中。 – user2357112