枚举的比较运算
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