Classes And Objects In Python

19th February 2026 by Tanishq Chavan
Python C C++ Javascript React JS
Python Programming Language

Python Classes and Objects: Comprehensive Theory

Python is an object-oriented programming language. Almost everything in Python is an object, with its properties and methods.


1. What is a Class?

A Class is like an object constructor, or a "blueprint" for creating objects. Think of a class as a template (e.g., a "Car" blueprint) and an object as a specific instance of that template (e.g., a specific "Red Tesla").

Creating a Class

To create a class, use the keyword class:

class MyClass:
  x = 5

2. What is an Object?

An Object is an instance of a class. When a class is defined, only the description for the object is defined. Therefore, no memory or storage is allocated.

Creating an Object

Now we can use the class named MyClass to create objects:

p1 = MyClass()
print(p1.x) # Output: 5

__init__() To understand the meaning of classes we have to understand the built-in __init__() function. All classes have a function called __init__(), which is always executed when the class is being initiated.

Use the __init__() function to assign values to object properties, or other operations that are necessary to do when the object is being created:

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

p1 = Person("John", 36)

print(p1.name)
print(p1.age)

[!IMPORTANT] The __init__() function is called automatically every time the class is being used to create a new object.


self The self parameter is a reference to the current instance of the class, and is used to access variables that belong to the class.

It does not have to be named self , you can call it whatever you like, but it has to be the first parameter of any function in the class:

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

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("John", 36)
p1.myfunc()

5. Object Methods

Objects can also contain methods. Methods in objects are functions that belong to the object.

class Dog:
  def __init__(self, name, breed):
    self.name = name
    self.breed = breed

  def bark(self):
    print(f"{self.name} says Woof!")

my_dog = Dog("Rex", "German Shepherd")
my_dog.bark()

6. Modifying and Deleting

  • Modify Properties: You can modify properties on objects like this: p1.age = 40
  • Delete Properties: You can delete properties on objects by using the del keyword: del p1.age
  • Delete Objects: You can delete objects by using the del keyword: del p1

pass class definitions cannot be empty, but if you for some reason have a class definition with no content, put in the pass statement to avoid getting an error.

class EmptyClass:
  pass

How did you feel about this post?

๐Ÿ˜ ๐Ÿ™‚ ๐Ÿ˜ ๐Ÿ˜• ๐Ÿ˜ก

Was this helpful?

๐Ÿ‘ ๐Ÿ‘Ž