[Python-Dev] Enum: subclassing?

Antoine Pitrou solipsis at pitrou.net
Wed May 1 23:11:16 CEST 2013


On Wed, 1 May 2013 14:04:11 -0700
Eli Bendersky <eliben at gmail.com> wrote:
> 
> You mean this?
> 
> class BehaviorMixin:
>   # bla bla
> 
> class MyBehavingIntEnum(int, BehaviorMixin, Enum):
>   foo = 1
>   bar = 2

Yes, but without the need for multiple inheritance and separate
mixins ;-) Especially if the behaviour is enum-specific, e.g.:

class IETFStatusCode(IntEnum):

    @classmethod
    def from_statusline(cls, line):
        return cls(int(line.split()[0]))

class HTTPStatusCode(IETFStatusCode):
    NOT_FOUND = 404

class SIPStatusCode(IETFStatusCode):
    RINGING = 180


Regards

Antoine.


More information about the Python-Dev mailing list