Object-Oriented Programming: Classes & Objects
Step into the world of OOP. Learn how to model real-world concepts into reusable Classes and Objects using Python.
The Object-Oriented Paradigm
Instead of writing a chaotic mess of global variables and functions, Object-Oriented Programming (OOP) allows you to bundle related data (attributes) and behavior (methods) into a single, cohesive unit called a Class.
The Blueprint and the House
A Class is a blueprint. An Object is the actual house built from that blueprint. You can build thousands of distinct houses (objects) from one single blueprint (class).
The __init__ Method & self
When you create a new object from a class, Python automatically runs a special constructor method called __init__ to set up the object's initial state. The self keyword acts as a nametag, telling the object, "Hey, save this data specifically to ME, not to the other objects."
class Car:
# The Constructor
def __init__(self, make, model):
self.make = make # Attribute
self.model = model # Attribute
self.is_running = False
# A Method
def start_engine(self):
self.is_running = True
print(f"The {self.make} engine roars to life!")
# Instantiating Objects
car1 = Car("Toyota", "Corolla")
car2 = Car("Ford", "Mustang")
car1.start_engine()