Ben Finney wrote: > Metaclass for creating enumeration classes > ------------------------------------------ > > The enumerations specified in this PEP are instances of an ``enum`` > type. Some alternative designs implement each enumeration as its own > class, and a metaclass to define common properties of all > enumerations. > > One motivation for having a class (rather than an instance) for each > enumeration is to allow subclasses of enumerations, extending and > altering an existing enumeration. A class, though, implies that > instances of that class will be created; it is difficult to imagine > what it means to have separate instances of a "days of the week" > class, where each instance contains all days. This usually leads to > having each class follow the Singleton pattern, further complicating > the design. > > In contrast, this PEP specifies enumerations that are not expected to > be extended or modified. It is, of course, possible to create a new > enumeration from the string values of an existing one, or even > subclass the ``enum`` type if desired.
Maybe a metaclass implementation complicates design, but usage is quite simple and flexible. The classics is already referenced by the Python docs: http://www.python.org/doc/essays/metaclasses/Enum.py I'm -0 on the PEP. Kay -- http://mail.python.org/mailman/listinfo/python-list