【Enum】python不同版本中的使用方式

根据所用python版本和enum34安装情况决定如何使用enum。

enum改版是在python3.4提出的,python2上如果环境里安装了enum34(pip可直接安装)会具有python3中enum的改版特性。

python环境有enum34包或者当前python版本大于等于3.4时,使用enum可参考下面

需要使用.value获取到具体的值,但使用IntEnum后可以直接与值比较

from enum import Enum
from enum import IntEnum


class TestEnum(Enum):
    NOT = 0
    OK = 1


class TestIntEnum(IntEnum):
    NOT = 0
    OK = 1


if __name__ == '__main__':
    print(TestEnum.NOT)    # TestEnum.NOT
    print(TestEnum.NOT == 0)   # False
    print(TestEnum.NOT.value)   # 0
    print(TestIntEnum.NOT)   # TestIntEnum.NOT
    print(TestIntEnum.NOT == 0)  # True
    print(TestIntEnum.NOT.value)  # 0

当python版本小于3.4且没安装enum34包时,没有IntEnum和.value的概念,直接会把枚举值翻译成对应的值,使用参考如下:

from enum import Enum


class TestEnum(Enum):
    NOT = 0
    OK = 1


if __name__ == '__main__':
    print(TestEnum.NOT)    # 0
    print(TestEnum.NOT == 0)   # True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值