- Object-Oriented Programming (OOP) in Python
-
Overview
- Introduction to OOP in Python
- Classes and Objects
- Constructors (__init__) and Destructors
- Inheritance (Single, Multiple, Multilevel)
- Polymorphism and Method Overriding
- Encapsulation and Data Hiding
- Abstract Classes and Interfaces
- Static and Class Methods
- Magic/Dunder Methods (__str__, __repr__)
- Metaclasses in Python
- Method Resolution Order (MRO) in Python
Classes and Objects
Add to BookmarkWhat are Classes and Objects?
Object-Oriented Programming (OOP) revolves around two main concepts: classes and objects.
- Class: A blueprint or template for creating objects. It defines properties (attributes) and behaviors (methods).
- Object: An instance of a class with actual values assigned to its attributes.
Defining a Class in Python
In Python, we define a class using the class
keyword:
class Car:
def __init__(self, brand, model, year):
self.brand = brand
self.model = model
self.year = year
def display_info(self):
print(f"{self.year} {self.brand} {self.model}")
# Creating an object (instance) of the class
my_car = Car("Toyota", "Corolla", 2022)
# Accessing attributes and methods
print(my_car.brand) # Output: Toyota
my_car.display_info() # Output: 2022 Toyota Corolla
Understanding the __init__()
Method
- The
__init__()
method is a special method (constructor) that initializes an object when it is created. self
refers to the instance of the class and is used to access attributes and methods.
Creating Multiple Objects
You can create multiple objects from the same class:
car1 = Car("Honda", "Civic", 2023)
car2 = Car("Ford", "Mustang", 2021)
car1.display_info() # Output: 2023 Honda Civic
car2.display_info() # Output: 2021 Ford Mustang
Modifying Object Attributes
Attributes of an object can be modified after creation:
my_car.year = 2023
print(my_car.year) # Output: 2023
Deleting Object Attributes
You can delete an attribute using del
:
del my_car.year
Checking an Object’s Type
To check the type of an object:
print(isinstance(my_car, Car)) # Output: True
Summary
Classes define a blueprint for objects.
Objects are instances of a class.
The __init__()
method initializes objects.
Methods define behaviors, and attributes store data.
Multiple objects can be created from the same class.
Prepare for Interview
- SQL Interview Questions for 2–5 Years Experience
- SQL Interview Questions for 1–2 Years Experience
- SQL Interview Questions for 0–1 Year Experience
- SQL Interview Questions for Freshers
- Design Patterns in Python
- Dynamic Programming and Recursion in Python
- Trees and Graphs in Python
- Linked Lists, Stacks, and Queues in Python
- Sorting and Searching in Python
- Debugging in Python
- Unit Testing in Python
- Asynchronous Programming in PYthon
- Multithreading and Multiprocessing in Python
- Context Managers in Python
- Decorators in Python
Random Blogs
- Python Challenging Programming Exercises Part 1
- What Is SEO and Why Is It Important?
- SQL Joins Explained: A Complete Guide with Examples
- AI Agents & Autonomous Systems – The Future of Self-Driven Intelligence
- Government Datasets from 50 Countries for Machine Learning Training
- Mastering SQL in 2025: A Complete Roadmap for Beginners
- Mastering Python in 2025: A Complete Roadmap for Beginners
- How to Become a Good Data Scientist ?
- Python Challenging Programming Exercises Part 3
- How AI is Making Humans Weaker – The Hidden Impact of Artificial Intelligence
- Exploratory Data Analysis On Iris Dataset
- The Ultimate Guide to Data Science: Everything You Need to Know
- Data Analytics: The Power of Data-Driven Decision Making
- Robotics & AI – How AI is Powering Modern Robotics
- Loan Default Prediction Project Using Machine Learning
Datasets for Machine Learning
- Amazon Product Reviews Dataset
- Ozone Level Detection Dataset
- Bank Transaction Fraud Detection
- YouTube Trending Video Dataset (updated daily)
- Covid-19 Case Surveillance Public Use Dataset
- US Election 2020
- Forest Fires Dataset
- Mobile Robots Dataset
- Safety Helmet Detection
- All Space Missions from 1957
- OSIC Pulmonary Fibrosis Progression Dataset
- Wine Quality Dataset
- Google Audio Dataset
- Iris flower dataset
- Artificial Characters Dataset