The purpose of descriptors is not difficult (although you not often need them): Abstract common code for attribute access. house is really an abstraction for instance variable access, operate delivers an abstraction for procedures, staticmethod offers an abstraction for methods that do not have to have occasion access and classmethod gives an abstr