# Inheritance = Allows a class to inherit attributes and methods from another class # Helps with code reusability and extensibility # class Child(Parent) class Animal: def __init__(self, name): self.name = name self.is_alive = True def eat(self): print(f"{self.name} is eating") def sleep(self): print(f"{self.name} is asleep") class Dog(Animal): def speak(self): print("WOOF!") class Cat(Animal): def speak(self): print("MEOW!") class Mouse(Animal): def speak(self): print("SQUEEK!") dog = Dog("Scooby") cat = Cat("Garfield") mouse = Mouse("Mickey")
Cool! Do you have any plans to provide a video where you're comparing inheritance against multiple different popular languages for their differences? Example: Python inheritance vs. JavaScript vs. C# vs. Java, etc. 😊
From what I could gather, the super and __init__ in the child class is needed if any attribute is added to the child class. Since in this case no new attribute was added, it wasn't necessary. If you don't override the __init__ method in the subclass Python implicitly uses the __init__ from the parent class.