[Python-Dev] [Python-checkins] peps: Pre-alpha draft for PEP 435 (enum). The name is not important at the moment, as (original) (raw)

Ethan Furman ethan at stoneleaf.us
Mon Feb 25 20:07:13 CET 2013


On 02/25/2013 10:49 AM, Antoine Pitrou wrote:

On Mon, 25 Feb 2013 09:03:06 -0800 Eli Bendersky <eliben at gmail.com> wrote:

"DOG" > "CAT" invokes lexicographical comparison between two strings, a well-defined and sensical operations. It simply means that in a sorted list of strings, "CAT" will come before "DOG". This is different from an enumeration that attempts to (at least logically) restrict a value to a set of pre-defined entities. No, it's not different. Like there are use cases for ordered comparisons of strings, there are cases for ordered comparisons of enums. For example, if I have an enum representing SIP or HTTP response codes, it is perfectly reasonable to write: if code < 200: # temporary response ... elif code < 400: # successful final response ... else: # final error response: ... Really, there's no justification for claiming an enum should never compare to anything else. It's entirely application-dependent.

+1



More information about the Python-Dev mailing list