Python Programming (131 Blogs) Become a Certified Professional
AWS Global Infrastructure

Data Science

Topics Covered
  • Business Analytics with R (32 Blogs)
  • Data Science (39 Blogs)
  • Mastering Python (68 Blogs)
  • Decision Tree Modeling Using R (1 Blogs)

What is the use of self in Python?

Last updated on May 07,2020 51.8K Views
3 / 62 Blog from Python Fundamentals

If you are working with Python, there is no escaping from the word “self”. It is used in method definitions and in variable initialization. The self method is explicitly used every time we define a method. In this article, we will get into the depth of self in Python in the following sequence:


What is the use of Self in Python?

Python - self in python - edureka

The self is used to represent the instance of the class. With this keyword, you can access the attributes and methods of the class in python. It binds the attributes with the given arguments. The reason why we use self is that Python does not use the ‘@’ syntax to refer to instance attributes. In Python, we have methods that make the instance to be passed automatically, but not received automatically.


class food():

# init method or constructor
def __init__(self, fruit, color):
self.fruit = fruit
self.color = color

def show(self):
print("fruit is", self.fruit)
print("color is", self.color )

apple = food("apple", "red")
grapes = food("grapes", "green")



Fruit is apple
color is red
Fruit is grapes
color is green

Python Class self Constructor

self is also used to refer to a variable field within the class. Let’s take an example and see how it works:

class Person:

# name made in constructor
def __init__(self, John): = John

def get_person_name(self):


In the above example, self refers to the name variable of the entire Person class. Here, if we have a variable within a method, self will not work. That variable is simply existent only while that method is running and hence, is local to that method. For defining global fields or the variables of the complete class, we need to define them outside the class methods.

Is self a Keyword?

self is used in different places and often thought to be a keyword. But unlike in C++, self is not a keyword in Python.

self is a parameter in function and the user can use a different parameter name in place of it. Although it is advisable to use self because it increases the readability of code.


class this_is_class:
def show(in_place_of_self):
print("It is not a keyword "
"and you can use a different keyword")

object = this_is_class()


It is not a keyword and you can use a different keyword

With this, we have come to the end of our article. I hope you understood the use of self and how it works in Python.

Check out the Python Programming Certification by Edureka. This Certification Training course is designed for students and professionals who want to be a Python Programmer. The course is designed to give you a head start into Python programming and train you for both core and advanced concepts.

Got a question for us? Please mention it in the comments section of this blog and we will get back to you as soon as possible.


Join the discussion

Browse Categories

webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP

Subscribe to our Newsletter, and get personalized recommendations.