On 04/12/2013 02:06 PM, Eli Bendersky wrote:
On Fri, Apr 12, 2013 at 1:52 PM, R. David Murray wrote:
    >>> import enum
    >>> class Foo(enum.Enum):
    ...    aa = 1
    ...    bb = 2
    ...    cc = 'hi'
    >>> Foo
    Traceback (most recent call last):
       File "<stdin>", line 1, in <module>
       File "./enum.py", line 103, in __repr__
         for k in sorted(cls._enums)))
    TypeError: unorderable types: str() < int()


I actually think that having values with different types within a single Enum 
is conceptually wrong and should be
disallowed at creation time. With enums, you either care or don't care about 
their actual value. If you don't care (the
most common use case of an enum, IMHO), then no problem here. If you do care, 
then it's probably for very specific
reasons most of which are solved by IntEnum. I can't imagine why someone would 
need differently typed values in a single
enum - this just seems like a completely inappropriate use of an enum to me.

+1  (on disallowing the mixed type enum, not the valueless enum being more 
common  ;)
_______________________________________________
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

Reply via email to