[Python-Dev] PEP 435 -- Adding an Enum type to the Python standard library
Philip Jenvey
pjenvey at underboss.org
Sun Apr 28 01:07:45 CEST 2013
On Apr 27, 2013, at 2:57 PM, Guido van Rossum wrote:
> On Sat, Apr 27, 2013 at 1:01 PM, Ethan Furman <ethan at stoneleaf.us> wrote:
>> It seems to me that the *most* common case will be a simple name mapping, in
>> which case one can do:
>>
>> Planet = Enum._make('Planet', 'MERCURY VENUS EARTH')
>>
>> and be done with it.
>
> That looks horrible.
Call me crazy, but might I suggest:
class Planet(Enum, values='MERCURY VENUS EARTH'):
"""Planets of the Solar System"""
I've always wanted something similar for namedtuples, such as:
class Point(NamedTuple, field_names='x y z'):
"""Planet location with Sun as etc"""
Especially when the common idiom for specifying namedtuples w/ docstrings looks similar but leaves a lot to be desired w/ the required duplication of the name:
class Point(namedtuple('Point', 'x y z')):
"""Planet location with Sun as etc"""
(Raymond's even endorsed the former):
http://bugs.python.org/msg111722
--
Philip Jenvey
More information about the Python-Dev
mailing list