Python Inheritance

JK1982 
Created at
Updated at  

  7,103   0   0  

Inheritance allows us to define a class that inherits all the methods and properties from another class.

Parent class is the class being inherited from, also called base class.

Child class is the class that inherits from another class, also called derived class.


Create a Parent Class

Any class can be a parent class, so the syntax is the same as creating any other class:

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Use the Person class to create an object, and then execute the printname method:

x = Person("John", "Doe")
x.printname()

Create a Child Class

To create a class that inherits the functionality from another class, send the parent class as a parameter when creating the child class:

class Student(Person):
  pass

Now the Student class has the same properties and methods as the Person class.

x = Student("Mike", "Olsen")
x.printname()

Add the __init__() Function

So far we have created a child class that inherits the properties and methods from its parent.

We want to add the __init__() function to the child class (instead of the pass keyword).

class Student(Person):
  def __init__(self, fname, lname):
    #add properties etc.

When you add the __init__() function, the child class will no longer inherit the parent's __init__() function.

To keep the inheritance of the parent's __init__() function, add a call to the parent's __init__() function:

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

Now we have successfully added the __init__() function, and kept the inheritance of the parent class, and we are ready to add functionality in the __init__() function.


Use the super() Function

Python also has a super() function that will make the child class inherit all the methods and properties from its parent:

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)

By using the super() function, you do not have to use the name of the parent element, it will automatically inherit the methods and properties from its parent.


Add Properties

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
    self.graduationyear = 2019

In the example below, the year 2019 should be a variable, and passed into the Student class when creating student objects. To do so, add another parameter in the __init__() function:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

x = Student("Mike", "Olsen", 2019)

Add Methods

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

If you add a method in the child class with the same name as a function in the parent class, the inheritance of the parent method will be overridden.



Tags: Child Class Parent Class Python Python Class Python Inheritance Share on Facebook Share on X

◀ PREVIOUS
Python Classes/Objects

▶ NEXT
Python Iterators

  Comments 0
SIMILAR POSTS

Python Iterators

(updated at )

Python Classes/Objects

(updated at )

Python Polymorphism

(updated at )

Python Scope

(updated at )

Python Arrays

(updated at )

Python Modules

(updated at )

Python Lambda

(updated at )

Python Functions

(updated at )

Python While Loops/For Loops

(updated at )

Python Conditions and If statements

(updated at )

Python Dictionaries

(updated at )

Python Sets

(updated at )

Python Tuples

(updated at )

Python Comparison Operators

(updated at )

Python Arithmetic Operators

(created at )

Printing string n times

(created at )

String concatenation by join()

(created at )

Python Lists

(updated at )

Python String Operations

(updated at )

Python Data Types

(updated at )

Python Variables

(updated at )

Python Comments

(updated at )

Python Syntax

(updated at )

Python Getting Started

(updated at )

Python Introduction

(created at )

What is Python?

(updated at )

Code Chronicles - A Caffeine-Fueled Journey into Data Software Engineering

(updated at )

Machine Learning Types and Programming Languages

(updated at )

Python Tutorials for AP Computer Science Principles, Data Projects and High School Internship

(updated at )

Mastering Excel Data Manipulation with Python

(updated at )

Challenge: One Code Problem Per Day

(created at )

Clean Python Environments: The Power of venv vs. Docker

(updated at )

OTHER POSTS IN THE SAME CATEGORY

Clean Python Environments: The Power of venv vs. Docker

(updated at )

How to Build Llama 3 AI Apps with Python: Setup & User Prompts

(updated at )

Mastering Excel Data Manipulation with Python

(updated at )

Try...Catch Helps Ignoring Data Type Miss-Match Error in Python

(updated at )

RegExp example in Python to exclude javascript from HTML code

(created at )

Python code to convert from Lunar to Solar

(created at )

Python example to download webpage

(updated at )

Python Tutorials for AP Computer Science Principles, Data Projects and High School Internship

(updated at )

Python Modules

(updated at )

Python Scope

(updated at )

Python Polymorphism

(updated at )

Python Iterators

(updated at )

Python Classes/Objects

(updated at )

Python Arrays

(updated at )

Python Lambda

(updated at )

Python Functions

(updated at )

Python While Loops/For Loops

(updated at )

Python Conditions and If statements

(updated at )

Python Dictionaries

(updated at )

Python Sets

(updated at )

Python Tuples

(updated at )

Python Comparison Operators

(updated at )

Python Arithmetic Operators

(created at )

Printing string n times

(created at )

String concatenation by join()

(created at )

Python Lists

(updated at )

Python String Operations

(updated at )

UPDATES

Harness vs. OpenClaw: Two Very Different "Agents"

(updated at )

Clean Python Environments: The Power of venv vs. Docker

(updated at )

What is Docker? Why is Docker also useful in a development environment?

(created at )

UIUC 2026-2027 Academic Calendar

(updated at )

How to Build Llama 3 AI Apps with Python: Setup & User Prompts

(updated at )

Open-Source LLMs: The AI Revolution

(updated at )

Resume 2.0: Leveling Up for My First Software Gig

(created at )

Not everyone will understand what this man just did

(created at )

UIUC Dorm Guide: Find Your Perfect Fit !!

(updated at )

Unpacking IU's Shopper

(created at )

Jackie Chan's Police Story: The Action Masterpiece

(updated at )

The IVE Story: Identity, 'I AM' Charts, and Influence

(updated at )

Tech Visionaries who graduated at UIUC - You are the Next Turn

(updated at )

Open Databases for Sex Crime Occurrences in the U.S.

(updated at )

Automatically copy text to the clipboard when dragging the mouse in the Cursor

(updated at )

My First Day at University of Illinois-Urvana Champaign

(updated at )

Sand, Sea, and a Splash of Fun at Newport Beach: A Family Adventure

(updated at )

Sun, Rocks, and Adventure: A Day at Joshua Tree National Park

(updated at )

Sipping the Stars: My Starbucks Adventure

(updated at )

Exciting explore at Sequoia National Park

(updated at )

My Life Shot at Death Valley

(updated at )

Ip Man fights with Muay Thai Master

(created at )

Mad Clown - Don't Die

(created at )

How to get Student Enrollment and Degree Verification at UIUC

(updated at )

LAX Thanksgiving Rush: A Joyful Reunion

(updated at )

ZO ZAZZ(조째즈) - Don`t you know (모르시나요) (PROD.ROCOBERRY)

(updated at )

FISHINGIRLS Unleashes Energetic EP 'Funiverse' Featuring Signature Track 'Fishing King'

(updated at )

10CM - To Reach You (너에게 닿기를)

(updated at )

Feeling weak? Transform yourself at the UIUC ARC!

(updated at )

BOYNEXTDOOR - If I Say I Love You

(updated at )

The Future of Software Engineer - AI Engineering

(updated at )

G Dragon x Taeyang (Eyes Nose Lips, Power, Home Sweet Home, GOOD BOY) - LE GALA PIÈCES JAUNES 2025

(updated at )

Lie - Legend song by BIGBANG

(updated at )

Why ROLLBACK is useful when you work with Google Gemini CLI?

(created at )

Reimbursement after Vaccination at McKinley Health Center

(created at )

Gemini CLI makes a Magic! Time to speed up your app development with Google Gemini CLI!

(created at )

Common Questions from UIUC school life in terms of CS Program

(created at )

UIUC Immunization Compliance

(created at )

LEE CHANHYUK's songs really resonate with my soul - Time Stop! Vivid LaLa Love, Eve, Endangered Love ...

(created at )

LEE CHANHYUK - Endangered Love (멸종위기사랑)

(created at )

Cupid (OT4/Twin Ver.) - LIVE IN STUDIO | FIFTY FIFTY (피프티피프티)

(created at )

Common methods to improve coding skills

(created at )

US National Holiday in 2026

(created at )

BABYMONSTER “WE GO UP” Band LIVE [it's Live] K-POP live music show

(created at )

BLACKPINK - ‘Shut Down’ Live at Coachella 2023

(created at )

JENNIE - like JENNIE - One of Hot K-POP in 2025

(created at )

BABYMONSTER(베이비몬스터) - DRIP + HOT SOURCE + SHEESH

(created at )

Common Naming Format in Software Development

(created at )

In a life where I don't want to spill even a single sip of champagne - LEE CHANHYUK - Panorama(파노라마)

(created at )

Countries with more males and females - what about UIUC?

(created at )