Python super() Built in Function

The super() function in Python is a built-in function that allows you to access the methods and properties of a parent class from a child class. It can also take optional arguments that specify the subclass and an instance of that subclass.

Here are some examples of using the super() function:

# Example 1: Calling parent constructor from child constructor
class Vehicle:
    def __init__(self):
        print('Vehicle __init__() called')

class Car(Vehicle):
    def __init__(self):
        super().__init__()
# same as Vehicle.__init__(self)
        print('Car __init__() called')

car = Car()

# Output:
# Vehicle __init__() called
# Car __init__() called
# Example 2: Calling parent method from child method

class Animal:
    def sound(self):
        print('Animal sound')

class Dog(Animal):
    def sound(self):
        super().sound()
# same as Animal.sound(self)
        print('Woof woof')

dog = Dog()
dog.sound()

# Output:
# Animal sound
# Woof woof
# Example 3: Using super() with multiple inheritance

class A:
    def hello(self):
        print('Hello from A')

class B(A):
    def hello(self):
        print('Hello from B')
        super().hello()

class C(A):
    def hello(self):
        print('Hello from C')
        super().hello()


class D(B,C):
# order matters!
    def hello(self):
        print('Hello from D')
        super().hello()


d = D()
d.hello()

# Output:
# Hello from D
# Hello from B
# Hello from C
# Hello from A

If you have any questions about this code, you can drop a line in comment.

Comments

Popular posts from this blog

Python chr() Built in Function

Stock Market Predictions with LSTM in Python

Collections In Python

Python Count Occurrence Of Elements

Python One Liner Functions