python使用enum进行枚举的比较

美女程序员鼓励师

1、说明

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

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

2、实例

import enum

 

 

class BugStatus(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_state is desired_state,

      actual_state is BugStatus.wont_fix)

print('Ordered by value:')

try:

    print('\n'.join('  ' + s.name for s in sorted(BugStatus)))

except TypeError as err:

    print('  Cannot sort: {}'.format(err))

    

# output

# Equality: False True

# Identity: False True

# Ordered by value:

#   Cannot sort: '<' not supported between instances of 'BugStatus' and 'BugStatus'

以上就是python使用enum进行枚举比较的方法,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

以上是 python使用enum进行枚举的比较 的全部内容, 来源链接: utcz.com/z/543962.html

回到顶部