[creating new thread] On 04/29/2013 01:30 AM, Steven D'Aprano wrote: > On Sun, Apr 28, 2013 at 11:50:16PM -0700, Ethan Furman wrote: > >> In other words, currently: >> >> class Color(Enum): >> red = 1 >> green = 2 >> blue = 3 >> >> class MoreColor(Color): >> cyan = 4 >> magenta = 5 >> yellow = 6 >> black = 7 >> >> MoreColor.red is Color.red # True > > Correct. > > >> But as soon as: >> >> type(Color.red) is Color # True >> type(MoreColor.red) is MoreColor # True > > I don't believe this is correct. As I understand it, the proposal is the > weaker guarantee: > > isinstance(Color.red, Color) # True, possibly using __instancecheck__ Words from Guido: On 04/23/2013 08:11 AM, Guido van Rossum wrote: > I gotta say, I'm with Antoine here. It's pretty natural (also coming > from other languages) to assume that the class used to define the > enums is also the type of the enum values. Certainly this is how it > works in Java and C++, and I would say it's the same in Pascal and > probably most other languages. > On 04/25/2013 02:54 PM, Guido van Rossum wrote: > 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. On 04/25/2013 03:19 PM, Guido van Rossum wrote: > 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. On 04/25/2013 03:37 PM, Guido van Rossum wrote: > TBH I had a hard time getting over the fact that even though the class > said "a = 1", C.a is not the integer 1. But I did get over it. > Hopefully you can get over *this* weirdness. [and from the summary thread] On 04/28/2013 01:02 PM, Guido van Rossum wrote: > On Sun, Apr 28, 2013 at 12:32 PM, Ethan Furman wrote: >> >> - should enum items be of the type of the Enum class? (i.e. type(SPRING) >> is Seasons) > > IMO Yes.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4