ITP2 - OOP Tutorials - Classes and Objects II - More about self

That's interesting. So from within the class, when an instance method
calls self, it is returning the calling object, so in this case, it's
the sparky object. Therefore, from within the change_info method,
calling self.name= is the same as calling sparky.name=. Now we
understand why using self to call instance methods from within the class
works the way it does!