Possible Duplicate:
Can Super deal with multiple inheritance?
Python inheritance? I have a class structure (below), and want the child class to call the __init__
of both parents. Is this possible to do in a 'super' way or is it just a terrible idea?
class Parent1(object):
def __init__(self):
self.var1 = 1
class Parent2(object):
def _init__(self):
self.var2 = 2
class Child(Parent1, Parent2):
def __init__(self):
## call __init__ of Parent1
## call __init__ of Parent2
## super(Child, self).__init__()
Invocation via
super
doesn't call all the parents, it calls the next function in the MRO chain. For this to work properly, you need to usesuper
in all of the__init__
s:In Python 3, you can use
super()
instead ofsuper(type, instance)
.