Explore Courses
Liverpool Business SchoolLiverpool Business SchoolMBA by Liverpool Business School
  • 18 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityMBA (Master of Business Administration)
  • 15 Months
Popular
O.P.Jindal Global UniversityO.P.Jindal Global UniversityMaster of Business Administration (MBA)
  • 12 Months
New
Birla Institute of Management Technology Birla Institute of Management Technology Post Graduate Diploma in Management (BIMTECH)
  • 24 Months
Liverpool John Moores UniversityLiverpool John Moores UniversityMS in Data Science
  • 18 Months
Popular
IIIT BangaloreIIIT BangalorePost Graduate Programme in Data Science & AI (Executive)
  • 12 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityDBA in Emerging Technologies with concentration in Generative AI
  • 3 Years
upGradupGradData Science Bootcamp with AI
  • 6 Months
New
University of MarylandIIIT BangalorePost Graduate Certificate in Data Science & AI (Executive)
  • 8-8.5 Months
upGradupGradData Science Bootcamp with AI
  • 6 months
Popular
upGrad KnowledgeHutupGrad KnowledgeHutData Engineer Bootcamp
  • Self-Paced
upGradupGradCertificate Course in Business Analytics & Consulting in association with PwC India
  • 06 Months
OP Jindal Global UniversityOP Jindal Global UniversityMaster of Design in User Experience Design
  • 12 Months
Popular
WoolfWoolfMaster of Science in Computer Science
  • 18 Months
New
Jindal Global UniversityJindal Global UniversityMaster of Design in User Experience
  • 12 Months
New
Rushford, GenevaRushford Business SchoolDBA Doctorate in Technology (Computer Science)
  • 36 Months
IIIT BangaloreIIIT BangaloreCloud Computing and DevOps Program (Executive)
  • 8 Months
New
upGrad KnowledgeHutupGrad KnowledgeHutAWS Solutions Architect Certification
  • 32 Hours
upGradupGradFull Stack Software Development Bootcamp
  • 6 Months
Popular
upGradupGradUI/UX Bootcamp
  • 3 Months
upGradupGradCloud Computing Bootcamp
  • 7.5 Months
Golden Gate University Golden Gate University Doctor of Business Administration in Digital Leadership
  • 36 Months
New
Jindal Global UniversityJindal Global UniversityMaster of Design in User Experience
  • 12 Months
New
Golden Gate University Golden Gate University Doctor of Business Administration (DBA)
  • 36 Months
Bestseller
Ecole Supérieure de Gestion et Commerce International ParisEcole Supérieure de Gestion et Commerce International ParisDoctorate of Business Administration (DBA)
  • 36 Months
Rushford, GenevaRushford Business SchoolDoctorate of Business Administration (DBA)
  • 36 Months
KnowledgeHut upGradKnowledgeHut upGradSAFe® 6.0 Certified ScrumMaster (SSM) Training
  • Self-Paced
KnowledgeHut upGradKnowledgeHut upGradPMP® certification
  • Self-Paced
IIM KozhikodeIIM KozhikodeProfessional Certification in HR Management and Analytics
  • 6 Months
Bestseller
Duke CEDuke CEPost Graduate Certificate in Product Management
  • 4-8 Months
Bestseller
upGrad KnowledgeHutupGrad KnowledgeHutLeading SAFe® 6.0 Certification
  • 16 Hours
Popular
upGrad KnowledgeHutupGrad KnowledgeHutCertified ScrumMaster®(CSM) Training
  • 16 Hours
Bestseller
PwCupGrad CampusCertification Program in Financial Modelling & Analysis in association with PwC India
  • 4 Months
upGrad KnowledgeHutupGrad KnowledgeHutSAFe® 6.0 POPM Certification
  • 16 Hours
O.P.Jindal Global UniversityO.P.Jindal Global UniversityMaster of Science in Artificial Intelligence and Data Science
  • 12 Months
Bestseller
Liverpool John Moores University Liverpool John Moores University MS in Machine Learning & AI
  • 18 Months
Popular
Golden Gate UniversityGolden Gate UniversityDBA in Emerging Technologies with concentration in Generative AI
  • 3 Years
IIIT BangaloreIIIT BangaloreExecutive Post Graduate Programme in Machine Learning & AI
  • 13 Months
Bestseller
IIITBIIITBExecutive Program in Generative AI for Leaders
  • 4 Months
upGradupGradAdvanced Certificate Program in GenerativeAI
  • 4 Months
New
IIIT BangaloreIIIT BangalorePost Graduate Certificate in Machine Learning & Deep Learning (Executive)
  • 8 Months
Bestseller
Jindal Global UniversityJindal Global UniversityMaster of Design in User Experience
  • 12 Months
New
Liverpool Business SchoolLiverpool Business SchoolMBA with Marketing Concentration
  • 18 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityMBA with Marketing Concentration
  • 15 Months
Popular
MICAMICAAdvanced Certificate in Digital Marketing and Communication
  • 6 Months
Bestseller
MICAMICAAdvanced Certificate in Brand Communication Management
  • 5 Months
Popular
upGradupGradDigital Marketing Accelerator Program
  • 05 Months
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Corporate & Financial Law
  • 12 Months
Bestseller
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in AI and Emerging Technologies (Blended Learning Program)
  • 12 Months
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Intellectual Property & Technology Law
  • 12 Months
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Dispute Resolution
  • 12 Months
upGradupGradContract Law Certificate Program
  • Self paced
New
ESGCI, ParisESGCI, ParisDoctorate of Business Administration (DBA) from ESGCI, Paris
  • 36 Months
Golden Gate University Golden Gate University Doctor of Business Administration From Golden Gate University, San Francisco
  • 36 Months
Rushford Business SchoolRushford Business SchoolDoctor of Business Administration from Rushford Business School, Switzerland)
  • 36 Months
Edgewood CollegeEdgewood CollegeDoctorate of Business Administration from Edgewood College
  • 24 Months
Golden Gate UniversityGolden Gate UniversityDBA in Emerging Technologies with Concentration in Generative AI
  • 36 Months
Golden Gate University Golden Gate University DBA in Digital Leadership from Golden Gate University, San Francisco
  • 36 Months
Liverpool Business SchoolLiverpool Business SchoolMBA by Liverpool Business School
  • 18 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityMBA (Master of Business Administration)
  • 15 Months
Popular
O.P.Jindal Global UniversityO.P.Jindal Global UniversityMaster of Business Administration (MBA)
  • 12 Months
New
Deakin Business School and Institute of Management Technology, GhaziabadDeakin Business School and IMT, GhaziabadMBA (Master of Business Administration)
  • 12 Months
Liverpool John Moores UniversityLiverpool John Moores UniversityMS in Data Science
  • 18 Months
Bestseller
O.P.Jindal Global UniversityO.P.Jindal Global UniversityMaster of Science in Artificial Intelligence and Data Science
  • 12 Months
Bestseller
IIIT BangaloreIIIT BangalorePost Graduate Programme in Data Science (Executive)
  • 12 Months
Bestseller
O.P.Jindal Global UniversityO.P.Jindal Global UniversityO.P.Jindal Global University
  • 12 Months
WoolfWoolfMaster of Science in Computer Science
  • 18 Months
New
Liverpool John Moores University Liverpool John Moores University MS in Machine Learning & AI
  • 18 Months
Popular
Golden Gate UniversityGolden Gate UniversityDBA in Emerging Technologies with concentration in Generative AI
  • 3 Years
Rushford, GenevaRushford Business SchoolDoctorate of Business Administration (AI/ML)
  • 36 Months
Ecole Supérieure de Gestion et Commerce International ParisEcole Supérieure de Gestion et Commerce International ParisDBA Specialisation in AI & ML
  • 36 Months
Golden Gate University Golden Gate University Doctor of Business Administration (DBA)
  • 36 Months
Bestseller
Ecole Supérieure de Gestion et Commerce International ParisEcole Supérieure de Gestion et Commerce International ParisDoctorate of Business Administration (DBA)
  • 36 Months
Rushford, GenevaRushford Business SchoolDoctorate of Business Administration (DBA)
  • 36 Months
Liverpool Business SchoolLiverpool Business SchoolMBA with Marketing Concentration
  • 18 Months
Bestseller
Golden Gate UniversityGolden Gate UniversityMBA with Marketing Concentration
  • 15 Months
Popular
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Corporate & Financial Law
  • 12 Months
Bestseller
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Intellectual Property & Technology Law
  • 12 Months
Jindal Global Law SchoolJindal Global Law SchoolLL.M. in Dispute Resolution
  • 12 Months
IIITBIIITBExecutive Program in Generative AI for Leaders
  • 4 Months
New
IIIT BangaloreIIIT BangaloreExecutive Post Graduate Programme in Machine Learning & AI
  • 13 Months
Bestseller
upGradupGradData Science Bootcamp with AI
  • 6 Months
New
upGradupGradAdvanced Certificate Program in GenerativeAI
  • 4 Months
New
KnowledgeHut upGradKnowledgeHut upGradSAFe® 6.0 Certified ScrumMaster (SSM) Training
  • Self-Paced
upGrad KnowledgeHutupGrad KnowledgeHutCertified ScrumMaster®(CSM) Training
  • 16 Hours
upGrad KnowledgeHutupGrad KnowledgeHutLeading SAFe® 6.0 Certification
  • 16 Hours
KnowledgeHut upGradKnowledgeHut upGradPMP® certification
  • Self-Paced
upGrad KnowledgeHutupGrad KnowledgeHutAWS Solutions Architect Certification
  • 32 Hours
upGrad KnowledgeHutupGrad KnowledgeHutAzure Administrator Certification (AZ-104)
  • 24 Hours
KnowledgeHut upGradKnowledgeHut upGradAWS Cloud Practioner Essentials Certification
  • 1 Week
KnowledgeHut upGradKnowledgeHut upGradAzure Data Engineering Training (DP-203)
  • 1 Week
MICAMICAAdvanced Certificate in Digital Marketing and Communication
  • 6 Months
Bestseller
MICAMICAAdvanced Certificate in Brand Communication Management
  • 5 Months
Popular
IIM KozhikodeIIM KozhikodeProfessional Certification in HR Management and Analytics
  • 6 Months
Bestseller
Duke CEDuke CEPost Graduate Certificate in Product Management
  • 4-8 Months
Bestseller
Loyola Institute of Business Administration (LIBA)Loyola Institute of Business Administration (LIBA)Executive PG Programme in Human Resource Management
  • 11 Months
Popular
Goa Institute of ManagementGoa Institute of ManagementExecutive PG Program in Healthcare Management
  • 11 Months
IMT GhaziabadIMT GhaziabadAdvanced General Management Program
  • 11 Months
Golden Gate UniversityGolden Gate UniversityProfessional Certificate in Global Business Management
  • 6-8 Months
upGradupGradContract Law Certificate Program
  • Self paced
New
IU, GermanyIU, GermanyMaster of Business Administration (90 ECTS)
  • 18 Months
Bestseller
IU, GermanyIU, GermanyMaster in International Management (120 ECTS)
  • 24 Months
Popular
IU, GermanyIU, GermanyB.Sc. Computer Science (180 ECTS)
  • 36 Months
Clark UniversityClark UniversityMaster of Business Administration
  • 23 Months
New
Golden Gate UniversityGolden Gate UniversityMaster of Business Administration
  • 20 Months
Clark University, USClark University, USMS in Project Management
  • 20 Months
New
Edgewood CollegeEdgewood CollegeMaster of Business Administration
  • 23 Months
The American Business SchoolThe American Business SchoolMBA with specialization
  • 23 Months
New
Aivancity ParisAivancity ParisMSc Artificial Intelligence Engineering
  • 24 Months
Aivancity ParisAivancity ParisMSc Data Engineering
  • 24 Months
The American Business SchoolThe American Business SchoolMBA with specialization
  • 23 Months
New
Aivancity ParisAivancity ParisMSc Artificial Intelligence Engineering
  • 24 Months
Aivancity ParisAivancity ParisMSc Data Engineering
  • 24 Months
upGradupGradData Science Bootcamp with AI
  • 6 Months
Popular
upGrad KnowledgeHutupGrad KnowledgeHutData Engineer Bootcamp
  • Self-Paced
upGradupGradFull Stack Software Development Bootcamp
  • 6 Months
Bestseller
KnowledgeHut upGradKnowledgeHut upGradBackend Development Bootcamp
  • Self-Paced
upGradupGradUI/UX Bootcamp
  • 3 Months
upGradupGradCloud Computing Bootcamp
  • 7.5 Months
PwCupGrad CampusCertification Program in Financial Modelling & Analysis in association with PwC India
  • 5 Months
upGrad KnowledgeHutupGrad KnowledgeHutSAFe® 6.0 POPM Certification
  • 16 Hours
upGradupGradDigital Marketing Accelerator Program
  • 05 Months
upGradupGradAdvanced Certificate Program in GenerativeAI
  • 4 Months
New
upGradupGradData Science Bootcamp with AI
  • 6 Months
Popular
upGradupGradFull Stack Software Development Bootcamp
  • 6 Months
Bestseller
upGradupGradUI/UX Bootcamp
  • 3 Months
PwCupGrad CampusCertification Program in Financial Modelling & Analysis in association with PwC India
  • 4 Months
upGradupGradCertificate Course in Business Analytics & Consulting in association with PwC India
  • 06 Months
upGradupGradDigital Marketing Accelerator Program
  • 05 Months

Python Classes and Objects [With Examples]

Updated on 21 December, 2023

7.33K+ views
10 min read

OOP – short for Object-Oriented Programming – is a paradigm that relies on objects and classes to create functional programs. OOPs work on the modularity of code, and classes and objects help in writing reusable, simple pieces of code that can be used to create larger software features and modules. C++, Java, and Python are the three most commonly used Object-Oriented Programming languages. However, when it comes to today’s use cases – the likes of Data Science and Statistical Analysis – Python trumps the other two. 

This is no surprise as Data Scientists across the globe swear by the capabilities of the Python programming language. If you’re planning to start a career in Data Science and are looking to master Python – knowing about classes and objects should be your first priority. 

Through this article, we’ll help you understand all the nuances behind objects and classes in Python, along with how you can get started with creating your own classes and working with them. 

Classes in Python

A class in Python is a user-defined prototype using which objects are created. Put simply, a class is a method for bundling data and functionality together. The two keywords are important to note. Data means any variables instantiated or defined, whereas functionality means any operation that can be performed on that data. Together with data and functionality bundled under one package, we get classes.

To understand the need for creating a class, consider the following simple example. Suppose, you wish to keep track of cats in your neighbourhood having different characteristics like age, breed, colour, weight, etc. You can use a list and track elements in a 1:1 manner, i.e., you could track the breed to the age, or age to the weight using a list. What if there are supposed to be 100 different cats? What if there are more properties to be added? In such a scenario, using lists tends to be unorganized and messy. 

That is precisely where classes come in! 

Classes help you create a user-defined data structure that has its own data members (variables) and member functions. You can access these variables and methods simply by creating an object for the class (we’ll talk more about it later). So, in a sense, classes are just like a blueprint for an object. 

Further, creating classes automatically creates a new type of objects – which allows you to further create more objects of that same type. Each class instance can have attributes attached to it in order to maintain its state. Class instances can themselves have methods (as defined by their class) for modifying the state. 

Some points on Python class:  

  • Classes are created by using the keyword class.
  • Attributes are the variables that are specific to the class you created. 
  • These attributes are always public in nature and can be accessed by using the dot operator after the class name. For example, ClassName.AttributeName will fetch you the particular attribute detail of that particular class. 

Syntax for defining a class: 

class ClassName:

    # Statement-1

    .

    .

    .

    # Statement-N

For example: 

class cat:

    pass

In the above example, the class keyword indicates that you are creating a class followed by the name of the class (Cat in this case). The role of this class has not been defined yet. 

Check out All Python tutorial concepts Explained with Examples.

Advantages of using Classes in Python

  • Classes help you keep all the different types of data properly organized in one place. In this way, you’re keeping the code clean and modular, improving your code’s readability. 
  • Using classes allows you to take the benefit of another OOP paradigm – called Inheritance. This is when a class inherits the properties of another class. 
  • Classes allow you to override any standard operators.
  • Classes make your code reusable which makes your program a lot more efficient. 

Objects in Python

An object is simply an instance of any class that you’ve defined. The moment you create a class, an automatic instance is already created. Thus, like in the example, the Cat class automatically instantiates an object like an actual cat – of Persian breed and 3 years of age. You can have many different instances of cats having different properties, but for it to make sense – you’ll need a class as your guide. Otherwise, you’ll end up feeling lost, not knowing what information is needed. 

An object is broadly characterized by three things: 

  • State: This refers to the various attributes of any object and the various properties it can show. 
  • Behaviour: This basically denotes the methods of that object. It also reflects how this particular object interacts with or responds to other objects. 
  • Identity: Identity is the unique name of the object using which it can be invoked as and when required. 

1. Declaring Objects

Declaring Objects is also known as instantiating a class because as soon as you define a class, a default object is created in itself (as we saw earlier) – which is the instance of that class. Likewise, each time you create an object, you’re essentially creating a new instance of your class. 

In terms of the three things (state, behaviour, identity) we mentioned earlier, all the instances (objects) share behaviour and state, but their identities are different. One single class can have any number of objects, as required by the programmer.

Check out the example below. Here’s a program that explains how to instantiate classes.

class cat:

    # A simple class

    # attribute

    attr1 = “feline”

    attr2 = “cat”

    # A sample method 

    def fun(self):

        print(“I’m a”, self.attr1)

        print(“I’m a”, self.attr2)

# Driver code

# Object instantiation

Tom = cat()

# Accessing class attributes

# and method through objects

print(Tom.attr1)

Tom.fun();

The output of this simple program will be as follows:

Feline

I’m a feline

I’m a cat

As you can see, we first created a class called cat and then instantiated an object with the name ‘Tom.’ The three outputs we got were as follows: 

  • Feline – this was the result of the statement print(Tom.attr1). Since Tom is an object of the Cat class and attr1 has been set as Feline, this function returns the output Feline. 
  • I’m a feline – Tom.fun(); uses the object called Tom to invoke a function in the cat class, known as ‘fun’. The Tom object brings with it the attributes to the function, and therefore the function outputs the following two sentences – “I’m a feline”.
  • I’m a cat – same reason as stated above. 

Now that you have an understanding of how classes and objects work in Python, let’s look at some essential methods. 

2. The Self Method

All the methods defined in any class are required to have an extra first parameter in the function definition. This parameter is not assigned any value by the programmer. However, when the method is called, Python provides it a value. 

As a result, if you define a function with no arguments, it still technically has one argument. This is called ‘self’ in Python. To understand this better, you can revise your concepts of Pointers in C++ or reference them in Java. The self method works in essentially the same manner. 

To understand this better – when we call any method of an object, for example:

myObject.myMethod(arg1, arg2), Python automatically converts it into myClass.myMethod(myObject, arg1, arg2). 

So you see, the object itself becomes the first argument of the method. This is what the self in Python is about. 

3. The __init__ method

This method is similar to constructors in Java or C++. Like constructors, the init method is used to initialize an object’s state. This contains a collection of instructions (statements) that are executed at the time of object creation. When an object is instantiated for a class, the init method will automatically run the methods initialized by you. 

Here’s a code piece of code to explain that better: 

# A Sample class with init method
class Person:

  

    # init method or constructor 

    def __init__(self, name):

        self.name = name

 

    # Sample Method 

    def say_hi(self):

        print(‘Hello, my name is’, self.name)

 

p = Person(“Sam”)

p.say_hi()

Output: 

Hello, my name is Sam

Learn data analytics courses online from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs, or Masters Programs to fast-track your career.

Class and Instance Variables

Instance variables are unique to each instance, whereas class variables are for methods and attributes shared by all the instances of a class. Consequently, instance variables are basically variables whose value is assigned inside a constructor or a method with self. On the other hand, class variables are those whose values are assigned within a class. 

Go through the following code to understand how instance variables are defined using a constructor (init method):

class cat:

    # Class Variable

    animal = ‘cat’           

    # The init method or constructor

    def __init__(self, breed, color):

        # Instance Variable    

        self.breed = breed

        self.color = color       

# Objects of Dog class

Tom = cat(“Persian”, “black”)

Snowy = cat(“Indie”, “white”)

print(“Tom details:’)  

print(‘Tom is a’, Tom.animal)

print(‘Breed: ‘, Tom.breed)

print(‘Color: ‘, Tom.color)

print(‘\nSnowy details:’)  

print(“Snowy is a’, Snowy.animal)

print(‘Breed: ‘, Snowy.breed)

print(‘Color: ‘, Snowy.color)

If you follow the above code line-by-line, here’s the output you’ll receive: 

Output: 

Tom details:

Tom is a cat

Breed:  Persian

Color:  black

Snowy details:

Snowy is a cat

Breed:  Indie

Color:  white

In Conclusion

Python is a comparatively easier programming language, particularly for beginners. Once you’ve mastered the basics of it, you’ll be ready to work with various Python libraries and solve data-specific problems. However, remember that while the journey begins from understanding classes and objects, you must also learn how to work with different objects, classes, and their nuances. 

We hope this article helped clarify your doubts about classes and objects in Python. If you have any questions, please drop us a comment below – we’ll get back to you real soon!

If you’re looking for a career change and are seeking professional help – upGrad is here for you.  Check out our Executive PG Program in Data Science offered in collaboration with IIIT-B. Get acquainted with 14+ programming languages and tools (including Python) while also gaining access to more than 30 industry-relevant projects. Students from any stream can enroll in this program, provided they scored a minimum of 50% in their bachelor’s.

We have a solid 85+ countries learner base, 40,000+ paid learners globally, and 500,000+ happy working professionals. Our 360-degree career assistance, combined with the exposure of studying and brainstorming with global students, allows you to make the most of your learning experience.

Frequently Asked Questions (FAQs)

1. What are classes and objects in Python?

A class is a template or a blueprint that binds the properties and functions of an entity. In Python, the keyword class is used to define a class. All the entities or objects having similar attributes can be put under a single class and can be accessed by the member functions.
An object is an instance of a class. Once a class is created, the objects get all the information of that class. It is just like a copy of the respected class with the actual values. An object is categorized by three factors:
a. State
b. Behaviour
c. Identity

2. Which programming paradigm does Python follow?

There are four major distinguishable paradigms followed by Python- object-oriented, procedural, functional, and imperative. Python strongly supports object-oriented concepts; however, it is not a purely object-oriented programming language.
The reason for supporting various programming paradigms is that it is noticeably influenced by some scripting like CoffeeScript and object-oriented programming languages like Ruby. It also combines with languages like R to increase efficiency and computational power.
Being a multi-paradigm language, Python is believed to be one of the most versatile languages. It is widely used for development, data analysis, web scraping, and automation.

3. What are access modifiers in Python?

Similar to other object-oriented programming languages, a class in Python also has three access modifiers:
a. Public Access Modifier: The class members specified as the public can be directly accessed by any function i.e., by member functions as well as non-member functions. If no access specifier is specified then all the class members are considered to be public members by default by the compiler.
b. Private Access Modifier: These class members are hidden from other class members. They can only be accessed by the member functions of the class in which they are defined.
c. Protected Access Modifier: The class members that are specified as protected can only be accessed by the member functions of the same class and will throw an error if tried to access outside the class. The only major difference between the private and protected access specifier is that protected members can be inherited while the private members cannot be inherited.