Latest posts


Object Oriented Programming : Methods and Attributes in Python | Python Methods and Attributes | Python OOP - Methods and Attributes

In the last post on Python Object Oriented programming, we saw how we can declare the classes and objects, and how to use the objects to call the class functions. In this post, we are going to see, how we can able to interact with Methods and Attributes of Python Object Oriented Programming. 

 Introduction : 

Object-Oriented Programming (OOP) is a cornerstone of modern programming languages like Python. OOP empowers developers to create modular and reusable code by organizing data (attributes) and behaviors (methods) into classes and objects. In this comprehensive post, we will delve deep into the world of OOP, focusing specifically on methods and attributes. We will demystify these concepts, explore their role in designing classes, and provide practical examples to showcase their importance in building efficient and structured Python programs.

What is an Attribute?

Attributes are data variables that belong to a class or object. They store information that defines the state of an object. Attributes can represent various properties, such as a person's name, age, or address. In Python, attributes are defined within the class and are accessible through objects created from that class.
It means, attributes simply define the extra information or properties of an object or a class. As per the example mentioned above, Suppose, a Person is an Object of a class and the Name, Age, and Address are the attributes of that Person. That can show the extra information related to that Person.

So basically, Attributes are used to define the extra information of an object.

Example :
class Person:
    def __init__(self, name, age): = name
        self.age = age

person1 = Person("Alice", 30)
print(  # Output: Alice
print(person1.age)   # Output: 30

In this example, the Person class has attributes name and age, which are initialized using the constructor (__init__ method) and accessed through the object person1.

What is a Method?

Methods are functions defined within a class that perform specific actions or computations. They represent the behaviors associated with the class and can access and modify attributes. Methods encapsulate functionality, enabling objects to interact with one another and manipulate data.

It means Methods are class-defined functions that execute specified actions or calculations. They represent the class's actions and can access and alter attributes. Methods contain functionality, allowing objects to interact and modify data.

Example :
class Circle:
    def __init__(self, radius):
        self.radius = radius

    def calculate_area(self):
        print(f"Area of Circle is : {3.14 * self.radius ** 2}")

circle1 = Circle(5)
circle1.calculate_area() # Method Called
# Output: 78.5

Here, the Circle class has an attribute radius and a method calculate_area() that computes the area of the circle using the provided formula.

Class Attributes vs. Instance Attributes: 

Attributes can be classified into two types: class attributes and instance attributes. Class attributes are shared among all instances of a class, while instance attributes are specific to individual objects.

It means, There are two kinds of attributes: class attributes and instance attributes. Class attributes are shared by all instances of a class, whereas instance attributes are unique to each object.

Example : 
class Dog:
    species = "Canine"

    def __init__(self, name): = name

dog1 = Dog("Buddy")
dog2 = Dog("Max")

print(     # Output: Buddy
print(dog1.species)  # Output: Canine

print(     # Output: Max
print(dog2.species)  # Output: Canine

In this example, species is a class attribute shared by all Dog objects, while the name is an instance attribute unique to each dog.


In the realm of Python OOP, methods and attributes are the building blocks that empower developers to create organized, reusable, and efficient code. Attributes define the data characteristics of objects, capturing their state, while methods encapsulate behaviors, enabling objects to interact and perform actions. Understanding the distinction between class and instance attributes is crucial for designing effective classes and creating instances tailored to specific needs.

It means Methods and attributes are the building blocks of Python OOP that allow developers to write structured, reusable, and efficient code. Attributes define an object's data properties, recording its state, whereas methods contain behaviors, allowing objects to communicate and perform actions. Understanding the difference between class and instance characteristics is critical for constructing successful classes and instances that are suited to specific purposes.

Understanding the complexities of methods and attributes will allow you to realize the full potential of OOP in Python. This understanding enables you to create attractive and robust classes, allowing you to create complicated software systems with ease and confidence. So, embrace the world of methods and characteristics and take your Python programming talents to the next level!

I hope it will help you to learn Python programming more !!!

Thank you !!!

Also Visit

Post a Comment