I've been playing around with Godot for a couple of years now on various hobby projects, and coming from a software engineering background with python experience, working with gdscript has been great. I'm always on board with making code as clear as possible, even if it means extra typing, so I'm a big fan of type hints and have noticed a lot of documentation/tutorials use them as well.
One pattern that I don't see anyone else using is invoking "self" to be explicit when referencing an instance variable or method. For example, rather than:
_instance_variable = _method()
I would tend to write:
self._instance_variable = self._method()
I find it very helpful to clearly differentiate between local variables (which go out of scope as soon as the method returns) and instance variables (which persist as part of the object's state), and seeing at a glance that I'm calling a method (which only exists in some classes) rather than a built-in function (which will work everywhere) is nice too. I don't see anyone else doing this though, even people who use type hints and other careful formatting patterns.
So what I'm wondering is, is this just a matter of convention and personal preference, or is there actually an argument against using "self" that I should take into consideration? (It's never caused me any trouble but I also have been working on pretty small scale games so far.)