枚举的比较运算

from enum import Enum

class VIP(Enum):
    YELLOW = 1
    RED =2
    BLACK = 3
    PURPLE = 4

可以看到 result3 = VIP.YELLOW == 1居然打出了False

result1 = VIP.YELLOW == VIP.BLACK #False
result2 = VIP.YELLOW == VIP.YELLOW #True
result3 = VIP.YELLOW == 1 #False
print(result1,result2,result3)
result1 = VIP.YELLOW > VIP.BLACK #False
print(result1)
File "/Users/scottxiong/Desktop/end/python/basic/enum/c1.py", line 9, in <module>
    result1 = VIP.YELLOW > VIP.BLACK #False
TypeError: '>' not supported between instances of 'VIP' and 'VIP'
result1 = VIP.YELLOW > 2
print(result1)
Traceback (most recent call last):
  File "/Users/scottxiong/Desktop/end/python/basic/enum/c1.py", line 9, in <module>
    result1 = VIP.YELLOW > 2
result1 = VIP.YELLOW is VIP.YELLOW
print(result1) #True

总结: 枚举类型只能和枚举类型进行(相等/身份)比较

from enum import Enum

class VIP1(Enum):
    YELLOW = 1
    RED = 2
    BLACK = 3
    PURPLE = 4

class VIP2(Enum):
    YELLOW = 1
    RED = 2
    BLACK = 3
    PURPLE = 4    

result1 = VIP1.YELLOW == VIP2.YELLOW
print(result1) #False

不同类的枚举没有可比性,永远是False

results matching ""

    No results matching ""