Introduction
The self keyword helps you know which object is currently running the code. It points to the current object.
When you want to call a method on the current object inside a class.
When you want to refer to the current object to set or get its attributes.
When you want to define class methods instead of instance methods.
When you want to clarify that a method belongs to the current object to avoid confusion.
When you want to return the current object from a method.