Le mardi 23 novembre 2010 à 14:56 +0000, Michael Foord a écrit : > On 23/11/2010 14:42, Antoine Pitrou wrote: > > On Tue, 23 Nov 2010 14:24:18 +0000 > > Michael Foord<fuzzy...@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. > > > > enum isn't only in C. (They are in C# as well at least.)
Well, it's been inherited by C-like languages, no doubt. Like braces and semicolumns :) Regards Antoine. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com