OrderedDescriptor¶
-
class
astropy.utils.misc.
OrderedDescriptor
(*args, **kwargs)[source] [edit on github]¶ Bases:
object
Base class for descriptors whose order in the class body should be preserved. Intended for use in concert with the
OrderedDescriptorContainer
metaclass.Subclasses of
OrderedDescriptor
must define a value for a class attribute called_class_attribute_
. This is the name of a class attribute on the container class for these descriptors, which will be set to anOrderedDict
at class creation time. ThisOrderedDict
will contain a mapping of all class attributes that were assigned instances of theOrderedDescriptor
subclass, to the instances themselves. See the documentation forOrderedDescriptorContainer
for a concrete example.Optionally, subclasses of
OrderedDescriptor
may define a value for a class attribute called_name_attribute_
. This should be the name of an attribute on instances of the subclass. When specified, during creation of a class containing these descriptors, the name attribute on each instance will be set to the name of the class attribute it was assigned to on the class.Note
Although this class is intended for use with descriptors (i.e. classes that define any of the
__get__
,__set__
, or__delete__
magic methods), this base class is not itself a descriptor, and technically this could be used for classes that are not descriptors too. However, use with descriptors is the original intended purpose.