python基础学习笔记06--枚举

枚举

  • Enum

from enum import Enum

class VIP(Enum):   #不允许有相同标签,不能更改
    YELLOW = 1    #枚举的值要是相同,相同值的那个标签就是它的别名
    GREEN = 2     #可以是其他数据类型
    BLACK = 3
    RED = 4

for v in VIP:
    print(v)   #      """VIP.YELLOW  VIP.GREEN  VIP.BLACK  VIP.RED"""

# print(VIP.YELLOW)   #VIP.YELLOW
# print(VIP.YELLOW.value)   #   1 访问值
# print(VIP.YELLOW.name)   #  YELLOW  获取标签名

# print(type(VIP.YELLOW))   #<enum 'VIP'>
# print(type(VIP.YELLOW.name))    #<class 'str'>


"""
    普通类和字典:可变,没有防止相同标签功能
"""
  • python里的枚举不能做大小比较,能做 等值 比较 == 和身份比较
from enum import Enum

class VIP(Enum):   #不允许有相同标签,不能更改
    YELLOW = 1
    YELLOW_ALIAS = 1  #值相同相当于别名
    BLACK = 3
    RED = 4

for v in VIP:
    print(v)   #   这样别名没有打印出来   """VIP.YELLOW  VIP.BLACK  VIP.RED"""

for v in VIP.__members__.items():
    print(v)

"""('YELLOW', <VIP.YELLOW: 1>) ('YELLOW_ALIAS', <VIP.YELLOW: 1>)
('BLACK', <VIP.BLACK: 3>)   ('RED', <VIP.RED: 4>)
"""
for v in VIP.__members__:
    print(v)

"""YELLOW YELLOW_ALIAS BLACK RED"""


from enum import IntEnum,unique

@unique
class VIP(IntEnum):   #IntEnum 不允许是字符串类型
    YELLOW = 1         #加上unique 就不能有相同值
    #Green = 1
    BLACK = 3
    RED = 4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值