Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #45236 > unrolled thread
| Started by | Jean-Michel Pichavant <jeanmichel@sequans.com> |
|---|---|
| First post | 2013-05-13 13:00 +0200 |
| Last post | 2013-05-14 02:00 +0000 |
| Articles | 2 — 2 participants |
Back to article view | Back to comp.lang.python
Re: Python's sad, unimaginative Enum Jean-Michel Pichavant <jeanmichel@sequans.com> - 2013-05-13 13:00 +0200
Re: Python's sad, unimaginative Enum Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-05-14 02:00 +0000
| From | Jean-Michel Pichavant <jeanmichel@sequans.com> |
|---|---|
| Date | 2013-05-13 13:00 +0200 |
| Subject | Re: Python's sad, unimaginative Enum |
| Message-ID | <mailman.1621.1368442906.3114.python-list@python.org> |
----- Original Message -----
> That's the title of this little beast
> http://www.acooke.org/cute/Pythonssad0.html if anybody's interested.
>
> --
> If you're using GoogleCrap™ please read this
> http://wiki.python.org/moin/GoogleGroupsPython.
>
> Mark Lawrence
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
python 2.5
class Enum:
class __metaclass__(type):
def __iter__(self):
for attr in sorted(dir(self)):
if not attr.startswith("__"):
yield getattr(self, attr)
class Colours(Enum):
RED = "red"
GREEN = "green"
for c in Colours:
print c
green
red
JM
-- IMPORTANT NOTICE:
The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
[toc] | [next] | [standalone]
| From | Steven D'Aprano <steve+comp.lang.python@pearwood.info> |
|---|---|
| Date | 2013-05-14 02:00 +0000 |
| Message-ID | <51919aad$0$29997$c3e8da3$5496439d@news.astraweb.com> |
| In reply to | #45236 |
On Mon, 13 May 2013 13:00:36 +0200, Jean-Michel Pichavant wrote:
> ----- Original Message -----
>> That's the title of this little beast
>> http://www.acooke.org/cute/Pythonssad0.html if anybody's interested.
>>
>> --
>> If you're using GoogleCrap™ please read this
>> http://wiki.python.org/moin/GoogleGroupsPython.
>>
>> Mark Lawrence
>>
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>>
>>
> python 2.5
>
> class Enum:
> class __metaclass__(type):
> def __iter__(self):
> for attr in sorted(dir(self)):
> if not attr.startswith("__"):
> yield getattr(self, attr)
>
> class Colours(Enum):
> RED = "red"
> GREEN = "green"
py> class Experience(Enum):
... NOVICE = 'novice'
... GREEN = 'green'
... EXPERIENCED = 'experienced'
... MASTER = 'master'
...
py>
py> Colours.GREEN == Experience.GREEN
True
Oops.
It's very easy to make something which does a few things that enums
should do, and call it an Enum. It's much harder to do a lot of things
that enums should do.
--
Steven
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web