On Mon, May 20, 2013 at 10:14 AM, Antoine Pitrou <solip...@pitrou.net> wrote: > On Sun, 19 May 2013 20:04:03 -0400 > Ned Batchelder <n...@nedbatchelder.com> wrote: >> On 5/19/2013 7:22 PM, Mark Janssen wrote: >> > On Sun, May 19, 2013 at 1:13 PM, Tres Seaver <tsea...@palladion.com> wrote: >> >> -----BEGIN PGP SIGNED MESSAGE----- >> >> Hash: SHA1 >> >> >> >> On 05/19/2013 10:48 AM, Guido van Rossum wrote: >> >>> Anyway, if you're doing arithmetic on enums you're doing it wrong. >> >> Hmm, bitwise operations, even? >> > I think it's rather pointless to do bitwise operations on python >> > enums. We're not that close to the machine. >> >> It makes sense if the enums represent bit-oriented values that will be >> used close to the machine. Python is used in many disciplines. > > Then it's up to the library writer to not use enums in that case. > (assuming the performance of bitwise operations is critical here, which > I doubt)
This is the point I was trying to make: once you use IntEnum (as you would in any case where you need bitwise operators), Enum gets out of the way for everything other than __str__, __repr__, and one other slot (that escapes me for the moment...). The metaclass does extra work at definition time so there shouldn't be any runtime overhead - the slots should be inherited directly from the non-Enum parent. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ 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