DEV Community

Cover image for Best Practices To Follow While Creating Classes In Python
Abhay Parashar
Abhay Parashar

Posted on

Best Practices To Follow While Creating Classes In Python

Object-Oriented Programming Is a programming paradigm based on the concepts of classes and objects. The Concept of oop First Introduced in 1967. The First-ever programming language that has the primary features of OOP is Simula Created by Alan Kay.
A Class in oop Works as a blueprint for the object. if we define a car as a class then different brands or types of cars will be objects.

Why OOP?

You Might Have a question in mind why do I need oop? what’s the need of creating it? Why it is used so much?

  • OOP Makes it so much easy to maintain and update existing code.
  • It provides code reusability.
  • Works Best With Real-Life Problems.
  • Have a Modular Structure.
  • Easy to debug.
  • In comparison to others (functional or structural), it is much faster and more efficient to use.

Best Practices For OOP

1. Use Inheritance Instead of redefining variables

Inheritance is one of the four pillars of OOP. It is the process by which one class inherits the properties of another class. The Class that inherits properties from another class is called child and the other one is called the Parent class.

Let’s Take a scenario, You have a Employee class that has parameters like name, age, experience, salary. Then You have other classes Like Developers and Designers that contains the information related to the particular field.

Now If You Don’t Use Inheritance then you have to define the name, age, experience, salary parameters for each class separately
Bad Code Example

The Above Code Looks Messy and shows a bad representation. Inheritance can help us to reduce the code and make it look more readable and professional.

In Python, to inherit a class, we use Child_class(Parent_class) it at the time of defining the class. The super() method helps a child class to access the members of the parent class. Developers class accesses name, age, exp, and salary information from the parent class. Let’s see how inheritance reduce the size of the code —
Read More

Discussion (0)