On Thu, Apr 25, 2013 at 11:50 AM, Barry Warsaw <ba...@python.org> wrote: > On Apr 23, 2013, at 10:24 AM, R. David Murray wrote: > >>> >>> isinstance(C.a, C) >>> False >>> >>> isinstance(C(1), C) >>> False >>> >>> It would really be better if instances were actual instances of the >>> class, IMO. >> >>The first False looks correct to me, I would not expect an enum value to be >>an instance of the class that holds it as an attribute. > > Agreed, completely. > >>The second certainly looks odd, but what does it even mean to have an >>instance of an Enum class? > > It only looks odd because it's using failed, duplicate, deprecated syntax. > Does this look similarly odd? > >>>> isinstance(C[1], C) > False > > given that ``C[1] is C.a``?
I don't know what's going on, 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. -- --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