Nameerror: name self is not defined ( Solved )

Nameerror_ name self is not defined ( Solved )

Are you getting Nameerror: name self is not defined error? Then this post is for you. In this tutorial you will know why this error comes and how to solve it easily using various solutions.

What is NameError ?

NamerError is an error  that most of the coders get when they aare using funcions or variables without defining in their code. They also get this error when they dont import module that defines variable or constrcutor.

Why Nameerror: name self is not defined  Error occurs ?

The root cause for this error is that you may be using the self keywords in the context where it has not been defined. For example you must be using the self outside a class method.

You will get the  error when you will run the below lines of code.

class MyClass:
      # class code
self.some_attribute = 10


getting namerror self is not defined

Solve Nameerror: name self is not defined

The solution for this error is very simple. The error was coming as you were initializing the attribute of the class using the self outside the class. Therefor you have to assign the value to the arributes inside the scope of the class not the outside the scope of the class.

Now you will run the following lines of code then you will not get the error.

class MyClass:
    def f1(self):
        self.some_attribute = 10


Solving the self nameerror
Solving the self nameerror

You may also get the same error due to the following reasons.

  1. You may have forget to include the self as the parameted to the function inside the class.
  2. Using the self outside the class . It is not allowed in oops concept.
  3. You may also get the error when you are using the self method without creating instance of the class.


In most of the cases coders get Nameerror: name self is not defined  error when they are not passing the self arguments to the function defined in the class. If you are getting the Nameerror: name self is not defined error then the above solution will solve it.

I hope you have liked this tutorial. If you have any doubt or query then contact us for more help.

Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

Thank you for signup. A Confirmation Email has been sent to your Email Address.

Something went wrong.

Meet Sukesh ( Chief Editor ), a passionate and skilled Python programmer with a deep fascination for data science, NumPy, and Pandas. His journey in the world of coding began as a curious explorer and has evolved into a seasoned data enthusiast.
Thank you For sharing.We appreciate your support. Don't Forget to LIKE and FOLLOW our SITE to keep UPDATED with Data Science Learner