On Thu, Apr 25, 2013 at 3:02 PM, Barry Warsaw <ba...@python.org> wrote: > On Apr 25, 2013, at 02:54 PM, Guido van Rossum wrote: > >>I don't know what's going on, > > Mostly that this is my first opportunity to chime in on the subject. > >>but it feels like we had this same discussion a week ago, and I still >>disagree. Disregarding, the C[i] notation, I feel quite strongly that in the >>following example: >> >>class Color(Enum): >> red = 1 >> white = 2 >> blue = 3 >> orange = 4 >> >>the values Color.red etc. should be instances of Color. This is how >>things work in all other languages that I am aware of that let you >>define enums. > > Is it enough that isinstance(Color.red, Color) returns True, or do you > really-and-truly want them to be instances of Color? > > I still think it's weird, but I could accept the former if you're flexible on > the latter, which in some sense is just an implementation detail anyway.
Clearly this is a trick question. :-) I was told when this was brought up previously (a week ago?) that it would be simple to make it truly the same class. I suppose you were going to propose to use isinstance() overloading, but I honestly think that Color.red.__class__ should be the same object as Color. -- --Guido van Rossum (python.org/~guido) _______________________________________________ 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