Share

Inheritance in Python | OOP's

Author: neptune | 05th-Sep-2022 | views: 24
#Python

Introduction to Inheritance

1. Inheritance describes is a kind of relationship between two or more classes, abstracting common details into superclass and storing specific ones in the subclass.

2. To create a child class, specify the parent class name inside the pair of parenthesis, followed by it's name.

Example :
Class ChildClass(ParentClass):   

    pass     


3. Every child class inherits all the behaviors exhibited by their parent class.


4. In Python, every class uses inheritance and is inherited from an object by default.

5. Hence, the below two definitions of MySubClass are the same.

Definition 1

class MySubClass:   

   pass


Definition 2

class MySubClass(object):   

    pass                    


1. “object” is known as parent or super class.

2. “MySubClass” is known as child or subclass or derived class.

Inheritance in Action

class Person:

    def __init__(self, fname, lname):

        self.fname = fname

        self.lname = lname

class Employee(Person):

    all_employees = []

    def __init__(self, fname, lname, empid):

        Person.__init__(self, fname, lname)

        self.empid = empid

        Employee.all_employees. append(self)


Employee” class is derived from “Person”.

p1 = Person('George', 'smith')

print(p1.fname, '-', p1.lname)


e1 = Employee('Jack', 'simmons', 456342)

e2 = Employee('John', 'williams', 123656)

print(e1.fname, '-', e1.empid)

print(e2.fname, '-', e2.empid)


Output:

George - smith

Jack - 456342

John - 123656


1. In the above example, Employee class utilizes __init __ method of the parent class Person to create its object.

2. Inheritance feature can be also used to extend the built-in classes like list or dict.

3. The following example extends list and creates EmployeesList, which can identify employees, having a given search word in their first name.


Example 1 :

class EmployeesList(list):

    def search(self, name):

        matching_employees = []

        for employee in Employee.all_employees:

            if name in employee.fname:

                matching_employees.append(employee.fname)

        return matching_employees

Extending Built-in Types EmployeesList object can be used to store all employee objects, just by replacing statement all_employees = [] with all_employees = EmployeesList().


Example 2

class Employee(Person):

    all_employees = EmployeesList()

    def __init__(self, fname, lname, empid):

        Person.__init__(self, fname, lname)

        self.empid = empid

        Employee.all_employees.append(self)


e1 = Employee('Jack', 'simmons', 456342)

e2 = Employee('George', 'Brown', 656721)

print(Employee.all_employees.search('or'))


Output :

['George']


If you have questions, or simply would like to share your thoughts, then feel free to reach out in the comments section below.


Other related blogs:
Classes and Objects in Python 3 | OOP's

Input and Output in Python

Datatypes in Python.

Core Python Syllabus for Interviews

How to reverse string in Python ?

What exactly you can do with Python?
Getting started with Jupyter Notebook | Python






Related Blogs
How to extract Speech from Video using Python?
Author: neptune | 29th-Aug-2022 | views: 2347
#Python
Simple and easy way to convert video into audio then text using Google Speech Recognition API...
How to download video from youtube using python module ?
Author: neptune | 22nd-May-2022 | views: 1433
#Python
We will let you know how you can easily download the Youtube high quality videos along with subtitle, thumbnail, description using python package..
Mostly asked Python Interview Questions - 2022.
Author: neptune | 25th-May-2022 | views: 855
#Python #Interview
Python interview questions for freshers. These questions asked in 2022 Python interviews...
Python 3.9 new amazing features ?
Author: neptune | 22nd-May-2022 | views: 739
#Python
We are going to explore the newest features of Python 3.9 really amazing features here list of some features like Dict union, Type hinting etc. with examples...
Python Built-in functions lambda, map, filter, reduce.
Author: neptune | 22nd-May-2022 | views: 693
#Python
We are going to explore in deep some important Python build-in functions lambda, map, filter and reduce with examples...
Best Python package manager and package for virtual environment ?
Author: neptune | 15th-Apr-2022 | views: 627
#Python #Anaconda #Virtualenv #Pip
Which is the best package manager for python and Virtual environment management using Virtualenv and Anaconda...
How to reverse string in Python ?
Author: neptune | 16th-May-2022 | views: 512
#Python
We are going to explore different ways to reverse string in Python...
Will, AI kills Developer's jobs?
Author: neptune | 22nd-May-2022 | views: 511
#Python #Machine learning #AI
GPT-3’s performance has convinced that Artificial intelligence is closer or at least AI-generated code is closer than we think. It generates imaginative, insightful, deep, and even excellent content...
Do you know Jupyter is now full-fledged IDE?
Author: neptune | 15th-Apr-2022 | views: 426
#Python #Jupyter
Jupyter is a widely used tool by Data scientists. So developers from institutions like Two Sigma, Bloomberg and fast.ai convert it into IDE lets see..
What exactly you can do with Python?
Author: neptune | 15th-Apr-2022 | views: 373
#Python
Well, it's a tricky question to answer because there are lots of application of Python. But, I will tell you about 3 main applications of Python...
Deploy Django project on AWS with Apache2 and mod_wsgi module.
Author: neptune | 22nd-May-2022 | views: 321
#Python #Django
In this blog I use the AWS Ubuntu 18.22 instance as Hosting platform and used Apache2 server with mod_wsgi for configurations. We create a django sample project then configure server...
Core Python Syllabus for Interviews
Author: neptune | 11th-Jun-2022 | views: 292
#Python #Interview
STRING MANIPULATION : Introduction to Python String, Accessing Individual Elements, String Operators, String Slices, String Functions and Methods...
Introduction to Apache Spark
Author: neptune | 09th-May-2022 | views: 206
#Python #Apache Spark
Apache Spark is an open-source, distributed processing system that utilizes in-memory caching and optimized query execution for faster queries...
Datatypes in Python.
Author: neptune | 22nd-May-2022 | views: 192
#Python
Python have different types of datatypes like Numbers, Strings, Lists, Tuples, Dictionary, Set, Frozenset, Bool, Mutable, and Immutable...
Input and Output in Python
Author: neptune | 15th-Jun-2022 | views: 121
#Python
In this article, we will see how Python take input from user and How it display the output to user. First we cover input then output...
TOP 10 PYTHON DEVELOPER SKILLS TO GET HIRED BY FAANG COMPANIES
Author: neptune | 07th-Jul-2022 | views: 94
#Python
In this article, we will explore top 10 Python skills required to get hired in worlds top most companies. The FAANG companies which are Facebook, Amazon, Apple, Netflix, and Google...
Classes and Objects in Python 3 | OOP's
Author: neptune | 31st-Aug-2022 | views: 78
#Python
Object-oriented programming can model real-life scenarios and suit the development of large and complex applications...
View More