How to invoke the super constructor in Python? How to invoke the super constructor in Python? python python

How to invoke the super constructor in Python?


In line with the other answers, there are multiple ways to call super class methods (including the constructor), however in Python-3.x the process has been simplified:

Python-2.x

class A(object): def __init__(self):   print "world"class B(A): def __init__(self):   print "hello"   super(B, self).__init__()

Python-3.x

class A(object): def __init__(self):   print("world")class B(A): def __init__(self):   print("hello")   super().__init__()

super() is now equivalent to super(<containing classname>, self) as per the docs.


super() returns a parent-like object in new-style classes:

class A(object):    def __init__(self):        print("world")class B(A):    def __init__(self):        print("hello")        super(B, self).__init__()B()


With Python 2.x old-style classes it would be this:

class A:  def __init__(self):    print "world" class B(A):  def __init__(self):    print "hello"    A.__init__(self)