Chain-calling parent initialisers in python [duplicate]
The way you are doing it is indeed the recommended one (for Python 2.x).
The issue of whether the class is passed explicitly to
super is a matter of style rather than functionality. Passing the class to
super fits in with Python's philosophy of "explicit is better than implicit".
You can simply write :
class A(object): def __init__(self): print "Initialiser A was called"class B(A): def __init__(self): A.__init__(self) # A.__init__(self,<parameters>) if you want to call with parameters print "Initialiser B was called"class C(B): def __init__(self): # A.__init__(self) # if you want to call most super class... B.__init__(self) print "Initialiser C was called"