[Python-Dev] constant/enum type in stdlib (original) (raw)

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: makeenums("Names", "NAMEONE NAMETWO NAMETHREE", basetype=int, module=name) Using name we can set the module globals in the call to makeenums.

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