Python Descriptor, i.e., __set__
, __get__
and __delete__
, is defined as per attribute instead of as per class unlike __setattr__
, __getattr__
, and __delattr__
. It is widely used in functions, properties (@property
), class methods and static methods, slots, __dict__
, validators and super view lookup.