11 Tweets 2 reads Nov 09, 2023
Object oriented programming is essential for writing clean & modular code!
Today, I'll clearly explain OOPs with Python!
Let's go! 🚀
We break it down to 6 important concepts:
- Object 🚘
- Class 🏗️
- Inheritance 🧬
- Encapsulation 🔐
- Abstraction 🎭
- Polymorphism 🌀
Let's take them one-by-one... 🚀
1️⃣ Object 🚘
Just look around, everything you see can be treated as an object.
For instance a Car, Dog, your Laptop are all objects.
An Object can be defined using 2 things:
- Properties: that describe an object
- Behaviour: the functions that an object can perform
...👇
For example, a Car is an object that has properties such as color & model, and behaviours such as accelerating, braking & turning.
But, how do we create these objects❓🤔
This is where we need to understand Classes!
...👇
2️⃣ Class 🏗️
A class is like a blueprint for creating objects.
It defines a set of properties & functions (methods) that will be common to all objects created from the class.
So, we start with a simple example & follow along!
Let's define a class Car & create it's Object👇
3️⃣ Inheritance 🧬
Let's say we want to create an Electric car & don't want to define all the properties and methods of the basic Car class.
Inheritance helps us to inherit all the properties/methods of parent class & add new ones or override existing.
Check this out👇
4️⃣ Encapsulation 🔐
Encapsulation helps to bundle data and methods inside a class, restricting direct access to certain attributes and methods.
We use private attributes/methods (with a `_` or `__` prefix) to achieve this.
Here's an example 👇
5️⃣ Abstraction 🎭
This concept focuses on exposing only essential information to the outside world while hiding implementation details.
We use abstract classes and methods to define a common interface.
Here's an example 👇
At this point if Abstraction and Encapsulation confuse you! 👇
Abstraction conceals the implementation details, but doesn't hide the data itself.
On the other hand, Encapsulation hides the data and restricts unwanted use from external sources.
Cheers! 🥂
6️⃣ Polymorphism 🌀
This allows us to use a single interface for different data types or classes.
We can achieve this through method overriding, where a subclass provides a different implementation for a method defined in its parent class.
Let's understand with an example 👇
That's a wrap!
If you interested in:
- Python 🐍
- ML/MLOps 🛠
- CV/NLP 🗣
- LLMs 🧠
- AI Engineering ⚙️
Find me → @akshay_pachaar ✔️
Everyday, I share tutorials on above topics!
Cheers!

Loading suggestions...