[Python-Dev] PEP 435 -- Adding an Enum type to the Python standard library

Antoine Pitrou solipsis at pitrou.net
Thu Apr 25 11:42:57 CEST 2013

Le Fri, 12 Apr 2013 05:55:00 -0700,
Eli Bendersky <eliben at gmail.com> a écrit :
> To programmatically access enumeration values, use ``getattr``::
>     >>> getattr(Colors, 'red')
>     <EnumValue: Colors.red [value=1]>

The PEP should mention how to get an enum from its raw value:

    >>> Colors[1]
    <EnumValue: Colors.red [value=1]>


    >>> Colors(1)
    <EnumValue: Colors.red [value=1]>

It would perhaps be nice to have a .get() method that return None if the
raw value is unknown:

    >>> Colors(42)
    ValueError: 42
    >>> Colors.get(42)



More information about the Python-Dev mailing list