Object-Oriented Programming (OOP) in Python

Welcome to the world of object-oriented programming in Python! In this guide, we’ll explore the basics of OOP and how it can help you write efficient, modular, and reusable code.

What is Object-Oriented Programming?

Object-Oriented Programming is a programming paradigm that revolves around objects. An “object” represents a specific instance of a class – which acts as a blueprint for creating objects. Objects have properties (attributes) and behavior (methods), allowing them to interact with other objects.

Compared to procedural programming, where tasks are handled sequentially through functions or procedures, OOP promotes code organization by grouping related data and functionality. This modular approach reduces redundancy and enhances code maintainability.

Classes: The Blueprint for Objects

In Python, classes are defined using the class keyword followed by the class name. Let’s create a simple Car class:

class Car: def __init__(self, brand): self.brand = brand def drive(self): print(f"The {self.brand} is driving!")
Enter fullscreen mode
Exit fullscreen mode

Here we define the Car class with an __init__() method that initializes our car object with its brand attribute. We also define a drive() method that prints out which car brand is being driven.

Creating Objects from Classes

To create an object from our Car class, we simply call the class as if it were a function:

my_car = Car("Tesla")
Enter fullscreen mode
Exit fullscreen mode

In this example, we create an instance of our Car class called my_car. We pass "Tesla" as an argument to set the value of its brand attribute during initialization.

Accessing Attributes and Invoking Methods

Once we have an object, we can access its attributes and invoke its methods using the dot notation:

print(my_car.brand)
# Output: Tesla

my_car.drive()
# Output: The Tesla is driving!
Enter fullscreen mode
Exit fullscreen mode

my_car.brand accesses the brand attribute of our Car object, while my_car.drive() invokes the drive method.

Inheritance: Extending Classes

Inheritance allows us to create new classes that inherit properties and behavior from existing classes. Let’s illustrate this with an ElectricCar class that inherits from our base Car class:


python
class ElectricCar(Car): def __init__(self, brand, battery_capacity): super().__init__(brand) self.battery_capacity = batter
Enter fullscreen mode
Exit fullscreen mode

Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top