Getter methods are ugly. This is much clearer:
obj.foobar
than
obj.get_foobar()
Secondly, it was used to implement the staticmethod, classmethod, and regular methods. All of them have slightly different behavior, and the method is __get__used to implement them.
source
share