[Python-Dev] constant/enum type in stdlib
Antoine Pitrou
solipsis at pitrou.net
Tue Nov 23 15:42:29 CET 2010
On Tue, 23 Nov 2010 14:24:18 +0000
Michael Foord <fuzzyman at voidspace.org.uk> wrote:
> Well, for backwards compatibility reasons the new constants would have
> to *behave* like the old ones (including having the same underlying
> value and comparing equal to it).
>
> In many cases it is *likely* that subclassing int is a better way of
> achieving that. Actually looking through the standard library to
> evaluate it is the only way of confirming that.
>
> Another API, that reduces the duplication of creating the enum and
> setting the names, could be something like:
>
> make_enums("Names", "NAME_ONE NAME_TWO NAME_THREE", base_type=int,
> module=__name__)
>
> Using __name__ we can set the module globals in the call to make_enums.
I don't understand why people insist on calling that an "enum". enum is
a C legacy and it doesn't bring anything useful as I can tell. Instead,
just assign the values explicitly.
Antoine.
More information about the Python-Dev
mailing list