python中使用enum的最佳实践,enum最佳实践,python中默认没有e


python中默认没有enum的关键字,但是我们可以通过几种方式来实现enum。

第一种方式:

def enum(**enums):    return type('Enum', (), enums)

使用示例:

>>> Numbers = enum(ONE=1, TWO=2, THREE='three')>>> Numbers.ONE1>>> Numbers.TWO2>>> Numbers.THREE'three'

也可以不指定enum项的值,使enum的值默认从0开始依次递增:

def enum(*sequential, **named):    enums = dict(zip(sequential, range(len(sequential))), **named)    return type('Enum', (), enums)

使用示例:

>>> Numbers = enum('ZERO', 'ONE', 'TWO')>>> Numbers.ZERO0>>> Numbers.ONE1

评论关闭