[Python-Dev] PEP 435 -- Adding an Enum type to the Python standard library (original) (raw)

R. David Murray rdmurray at bitdance.com
Fri Apr 12 16:23:47 CEST 2013


On Fri, 12 Apr 2013 10:19:29 -0400, Davis Silverman <sinistersnare at gmail.com> wrote:

I think the reason they are not supporting lt, gt,etc. is because ints are optional values for enums, therefore it wouldnt be a good idea to compare enums of different types in that way.

example: >>>class MyEnum(Enum): >>> fir = 1 >>> sec = 2 >>> thir = "THIRD!" and doing >>> MyEnum.fir >= MyEnum.thir would give unexpected results, therefore not making it a great idea

That's why I included the bit about iterating the values. The ordering is defined. I find it much more surprising for that ordering to be inaccessible via the comparison operators.

I think either the iteration order should be undefined (like a set or dict), or the comparison operations should work. I'd prefer the latter, because of the use case I outlined.

--David



More information about the Python-Dev mailing list