[Python-Dev] constant/enum type in stdlib

Antoine Pitrou solipsis at pitrou.net
Tue Nov 23 15:42:29 CET 2010


On 2010年11月23日 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

AltStyle によって変換されたページ (->オリジナル) /