枚举

1.1枚举也是一个类

from enum import Enum  #引入枚举
class VIP(Enum):   #枚举也是一个类
    YELLOW=1       #重在标签不在数值
    GREEN=2
    BLACK=3
    RED=4

枚举和普通类相比具有的优势:(1)枚举下的类型不能被随意更改(2)具有可以防止相同标签的功能

1.2枚举类型、枚举名称与枚举值

from enum import Enum  #引入枚举
class VIP(Enum):   #枚举也是一个类
    YELLOW=1       #重在标签不在数值
    GREEN=2
    BLACK=3
    RED=4
print(VIP.GREEN)             #枚举类型
print(VIP.GREEN.name)        #枚举的名字
print(VIP.GREEN.value)       #枚举的值

for v in VIP:
    print(v)                  #枚举可以遍历

#枚举的比较
r=VIP.GREEN==VIP.RED  #可以做等值比较、身份比较,不能做大小比较
r1=VIP.GREEN is VIP.GREEN
print(r)
print(r1)
u=VIP.GREEN==2       #VIP.GREEN不是2
print(u)

1.3枚举注意事项

from enum import Enum  #引入枚举
class VIP(Enum):   #枚举也是一个类
    YELLOW=1       #重在标签不在数值
    YELLOW1=1      #YELLOW的 别名
    GREEN=2
    BLACK=3
    RED=4
print(VIP.YELLOW1)         #YELLOW1是YELLOW的别名,会打印出VIP.YELLOW
for v in VIP:           #数值相等时不会被认为是另一个枚举,只会认为是前一个枚举的别名
    print(v)
#把别名也加入遍历循环
for v in VIP.__members__.items():    #方法一
    print(v)
for r in VIP.__members__:            #方法二
    print(r)

1.4枚举转换

from enum import Enum  #引入枚举
class VIP(Enum):   #枚举也是一个类
    YELLOW=1       #重在标签不在数值
    YELLOW1=1      #YELLOW的 别名
    GREEN=2
    BLACK=3
    RED=4
a=2
print(VIP(a))

1.5枚举小结

from enum import IntEnum  #IntEnum要求值必须是整数类型
class VIP(IntEnum):
    YELLOW=1
    GREEN=2
    BLACK=3
    RED=4

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值