Crus4

logo

What are Classes and Objects in Python


In Python, Classes and Objects are fundamental concepts in object oriented programming (OOP). With the help of Classes and Objects we can model real-world entities and their behaviors in the code. Here is what classes and objects are:

Python Classes

A Class is a blueprint or template for creating objects. In python, classes are created using the class keyword. Here is a syntax:

Syntax:

class ClassName:
  x= "Hello Python Programmers"

Code Explanation

In an above code we first created a class namely ClassName, then we define a class attribute named x and assign it to a string “Hello Python Programmers”. (Class attribute are actually variables that belong to the class itself.)

Now we can create an object using a class ClassName and print the value of x.

Creating a Python Object

So to create an object in Python, we have to use a class name that we have previously created. In an above example we have created a class namely ClassName, now we will use this ClassName to create an object. Here is an Example:

Example

class ClassName:
  x= "Hello Python Programmers"

obj = ClassNmae()
print(obj.x)

Code Explanation

After creating a class and it’s attribute we have then created an instance of the class “ClassName” (Object) and stores it in a variable obj. At last we use the print function to print the value of the attribute x of the instance obj. Since the instance was created from the ClassName class, it inherits the class attribute x. So, obj.x prints “Hello Python Programmers”.

Python Constructor – (__init__ Function)

The __init__ function is a special method in Python Classes. It gets called when an instance of a class (object) is created. It is used to initialize the attributes (data members) of an object. We always have to add self parameter in the __init__ function. It refers to the instance being created, and we can use it to set initial values for the object’s attributes.

Here is an example of the __init__ function.

Example

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

# Creating an instance of the class
obj = Person("John", 19)
print(obj.name)
print(obj.age)

Output

John
19

Code Explanation

In an above code, we first created a class namely Person, which has two attributes name and age. The __init__ constructor of the person class is a special method that gets called when an instance of the class (object) is created. The __init__ constructor takes three parameters self ( refers to the instance being created.), name and age.

The self.name and self.age assign the values of the name and age parameters to the corresponding attributes of the instance. The self keyword refers to the instance being created and allows you to access its attributes.

After that we have created an instance of a class Person (Object), and store it in a variable obj. The arguments "John" and 19 are passed to the constructor to set the name and age attributes of an object. At last we print the values of the name and age attributes of the obj instance, Using the print(obj.name) and print(obj.age)function. The output we get is John and 19.

Python self Parameter

The self parameter in python refers to the current instance of the class and is used to access the instance’s attributes and methods. It’s not a reserved keyword, but it’s widely used and expected by convention.

Whenever we define a method within a class, the first parameter should always be self. For example:

class MyClass:
    def __init__(self, par1, par2):
        # Method code here

Share This Post!

What are Classes and Objects in Python