0
0
PythonConceptBeginner · 3 min read

What is self in Python class: Simple Explanation and Example

self in a Python class is a reference to the current instance of the class. It allows access to the attributes and methods of that specific object within the class.
⚙️

How It Works

Imagine you have a blueprint for making cars. Each car made from that blueprint is an individual object. In Python, self is like a name tag on each car that tells you which car you are working with right now.

When you write a method inside a class, you use self to refer to the specific object that called that method. This way, the method knows which object's data to use or change.

Without self, Python wouldn't know if you mean the current object or something else. It is always the first parameter in instance methods, but you don't pass it when calling the method; Python does that automatically.

💻

Example

This example shows a class Dog with a method that uses self to access the dog's name.

python
class Dog:
    def __init__(self, name):
        self.name = name  # Store the name in the object

    def speak(self):
        return f"{self.name} says woof!"

my_dog = Dog("Buddy")
print(my_dog.speak())
Output
Buddy says woof!
🎯

When to Use

Use self inside class methods whenever you want to work with the current object's data or call other methods on the same object. It is essential for storing and retrieving information unique to each object.

For example, in a program managing users, each user object will have its own name and email stored using self. This helps keep data organized and separate for each user.

Key Points

  • self refers to the current object instance.
  • It must be the first parameter in instance methods.
  • You do not pass self when calling the method; Python does it automatically.
  • It allows access to attributes and other methods of the same object.

Key Takeaways

self is a reference to the current object in a Python class.
It allows methods to access or modify the object's attributes.
self must be the first parameter in instance methods but is passed automatically.
Using self helps keep data unique to each object instance.