python枚举优点_Python枚举

1. 枚举类型、枚举名称与枚举值

枚举优点: 不可更改性, 不可重复性

from enum import Enum

class Vip(Enum):

YELLOW = 1

GREEN = 2

RED = 3

print(type(Vip.YELLOW.value)) # 枚举值

print(type(Vip.YELLOW.name)) # 枚举名字

print(type(Vip['RED'])) # 枚举类型

for v in Vip:

print(v.name) # 遍历枚举

2. 枚举比较

枚举只能进行等于比较不能进行大小比较

from enum import Enum

class Vip(Enum):

YELLOW = 1

GREEN = 1

RED = 3

class Vip2(Enum):

YELLOW = 1

result = Vip.YELLOW == Vip.GREEN # True

result = Vip.YELLOW is Vip.GREEN # True

result1 = Vip.YELLOW == 1 # False

result1 = Vip.YELLOW == Vip2.YELLOW # False

print(result1)

3. 枚举的别名

from enum import Enum

class Vip(Enum):

YELLOW = 1

YELLOW_CHILD = 1 # 两个枚举值相同, 第二个值系统会把它当做别名, 遍历的时候不会显示

RED = 3

for v in Vip:

print(v) # Vip.YELLOW

# Vip.RED

for v in Vip.__members__: # __members__会把别名也返回

print(v) # YELLOW

# YELLOW_CHILD

# RED

4. IntEnum,unique

from enum import IntEnum,unique

# InfEnum 会控制枚举里面都是int类型,如果不是就会报错,

# unique 会控制枚举各个值是唯一的

@unique

class Vip(IntEnum):

YELLOW = 1

YELLOW_CHILD = 1 # 报错

RED = 3

print(Vip.YELLOW)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值