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 = 100
Code 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
100
Code 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 = 100
Code 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 method
Code 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 method
Code 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
pass
Code language: Python (python)
Example
class virat:
pass
Code 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
100
Code language: Python (python)
Delete object properties
We can delete object properties using the del keyword.
Syntax
del
Code language: Python (python)
Example
class virat:
score = 99
king = virat()
del king.score
Code language: Python (python)
Click Here to run the code yourself.
Deleting objects
We can delete objects using the keyword del.
Syntax
del
Code language: Python (python)
Example
class virat:
score = 99
king = virat()
#deleting king object
del king
Code 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.
No comments so far
Curious about this topic? Continue your journey with these coding courses: