python使用enum进行枚举的比较

python使用enum进行枚举的比较

1、说明

(1)枚举成员未被排序,因此它们仅支持通过is和==进行比较。大小比较引发TypeError异常。

(2)继承IntEnum类创建的枚举类,成员间支持大小比较。

2、实例

importenum

classBugStatus(enum.Enum):

new=7

incomplete=6

invalid=5

wont_fix=4

in_progress=3

fix_committed=2

fix_released=1

actual_state=BugStatus.wont_fix

desired_state=BugStatus.fix_released

print('Equality:',

actual_state==desired_state,

actual_state==BugStatus.wont_fix)

print('Identity:',

actual_stateisdesired_state,

actual_stateisBugStatus.wont_fix)

print('Orderedbyvalue:')

try:

print('\n'.join(''+s.nameforsinsorted(BugStatus)))

exceptTypeErroraserr:

print('Cannotsort:{}'.format(err))

#output

#Equality:FalseTrue

#Identity:FalseTrue

#Orderedbyvalue:

#Cannotsort:'<'notsupportedbetweeninstancesof'BugStatus'and'BugStatus'

以上就是python使用enum进行枚举比较的方法,希望对大家有所帮助。更多Python学习教程请关注我们

推荐阅读