Classes and Objects in Python Explained with an example

Classes and Objects in Python Explained with an example

Classes and objects can be recognized as the analogy of the Structures in Procedural-Oriented Programming. Well, Where do Classes and Objects belong? They belong to Object-Oriented Programming. What is meant by Object-Oriented Programming, we are going to about this also in the coming sections.

Introduction

Python is an Object-Oriented Programming language that provides an easy understanding of complex concepts like Encapsulation, Inheritance, Abstraction, and so on. Here, We are going to discuss how we can create a class and finally introduce Methods that involve them.

What are a class and an object in Python?

A class can be easily understood as a blueprint to create an object. A class is generally defined to reduce the amount of code means if we have a class of cars, we can create many instances of cars without rewriting by just creating an object.

An Object is an instance of Class. It means whenever a class is created no memory is allocated to it. Only if we create an object it gets a real form. Hence, It is called a run-time entity.

Creating a Class in Python 

Definition

A Class is a blueprint for creating an object. Attributes of a class can be accessed by using the Dot(.) operator.

Syntax

A Class can be created by using the keyword class and assigning a name to it.

class virat:
  score = 100Code language: Python (python)

Create an Object

Definition

An Object is an instance of a Class.

Syntax

Object_Name = Class_Name()Code language: Python (python)

Example

class virat:
  score = 100
king = virat()
print(king.score)Code language: Python (python)

Click Here to run the code yourself.

OUTPUT

100Code language: Python (python)

Class Attributes

Class Attributes can be defined as the variables used in a Class. They Can be accessed using Dot(.) Operator.

For example, In the above example, score is called a class attribute.

Instance Variables

Instance Variables are simply called run-time input values. To use this, we need to declare the variable initially in the class and later assign a value to it. To use these, we need to initially pass the values as parameters or write input lines in the code itself. We need to use a parameterized constructor here. An example code can be seen below.

Example Code

class virat:
    #Parameterized Constructor
    def __init__(self, sc):
        self.score = sc  
#sc is the instance variable

king = virat(100)
print(king.score)
Code language: Python (python)

Click Here to run the code yourself.

Class Variables

These are the variables that are defined in the class. These are hugely different from instance variables, These are specially defined using a static keyword before the variable name. Only a Single Copy of this variable is present in the class. Meaning, if we change or update this in one method, the same would be reflected in others also.

Syntax

#initialised to 100
static score = 100Code language: Python (python)

Class methods

Instance method

This method is the most used and default python method. All methods we use are instance methods if we do not specify any special method.

Example

class virat:
  score = 100
king = virat()
print(king.score)Code language: Python (python)

Click Here to run the code yourself.

Static Method

Static Methods usually do not depend on objects. These are created to access static members of a class, which is very much useful in data abstraction. These are accessed by objects through Inheritance. These are defined using the keyword @static method. This is also called a decorator.

Syntax

class virat:
      @static methodCode language: Python (python)

Example

class Employee:
    @staticmethod
    def sampler(x):
        print('Inside static method', x)
# calling static method
Employee.sample(10)
emp = Employee()
emp.sample(10)Code language: Python (python)

Click Here to run the code yourself.

Class Method

This method receives an implicit first argument. It is mainly dependent on the class. The decorator used here is the @class method. This method is almost similar to the class method.

Syntax

class virat:
      @class methodCode language: Python (python)

Example

class Student:
	name = "Nothing"
        def print_name(obj):
	    print("The name is : ", obj.name)

Student.print_name = classmethod(Student.print_name)

Student.print_name()
Code language: Python (python)

Click Here to run the code yourself.

Class Naming Convention

A class frequently started with a Capital letter and spaces aren’t used to separate words in the name, capital letters are used, This method is called Camel Case.

Pass Statement in Class 

A Pass statement is used in case we do not use the class now, but later we add information. It is used to avoid indentation errors, meaning if a class is created without anything in it, dropping a pass statement wouldn’t cause any error.

Syntax

passCode language: Python (python)

Example

class virat:
      passCode language: Python (python)

Object Properties

Object properties are attributes of a class. Properties include their name, their type, and so on.

Modify the object properties

We can modify the reassigning of the values to it by simply accessing them with the dot operator.

Example

class virat:
    score = 99 
king = virat()
king.score = 100
print(king.score)Code language: Python (python)

Click Here to run the code yourself.

OUTPUT

100Code language: Python (python)

Delete object properties

We can delete object properties using the del keyword.

Syntax

delCode language: Python (python)

Example

class virat:
    score = 99 
king = virat()
del king.scoreCode language: Python (python)

Click Here to run the code yourself.

Deleting objects

We can delete objects using the keyword del.

Syntax

delCode language: Python (python)

Example

class virat:
    score = 99 
king = virat()
#deleting king object
del kingCode language: Python (python)

Click Here to run the code yourself.

Conclusion

In this, we have about from the basics of Class and Object to using class methods, decorators, and modifying the object properties. Everything in python is an object. The syntaxes of all classes and objects are similar in most programming languages, Hence, Mastering them in one language will definitely help in others.

Frequently Asked Questions to resolve(FAQs)

How do classes and objects differ in Python?

A class usually does not have any memory allocated to it. Whereas, memory is allocated to a class whenever an object is created.

Are objects and classes the same in Python?

No. A class is a blueprint for creating objects in python. Whereas an Object is an instance of the class.

Does Python have classes and objects?

Yes, That is why it is called Object-oriented Programming Language.

What is the difference between classes and objects in Python?

A class can be defined without creating an object, Whereas an Object cannot be created without an existing class.

What are classes and objects in Python?

A class is a Blueprint to create an object, whereas an object is an instance of the class.

Sharing is caring

Did you like what Krishna Bethina wrote? Thank them for their work by sharing it on social media.

0/10000

No comments so far