美文网首页
Python枚举类(8)

Python枚举类(8)

作者: 纳米君 | 来源:发表于2018-04-25 00:14 被阅读12次

    为了便于定义一些枚举类型的常量,比如月份,周数等等,使用枚举类比较合适。

    from enum import Enum, unique
    
    # 默认枚举值从1开始自增,每个常量('Jan',...)都是class Month的唯一实例
    Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
    
    print(Month.Jan.value)
    for item in Month:
         # Month.JAN 1
         print(item, item.value)
    
    
    # 自定义枚举值,
    # @unique装饰器可以检测重复值,如果有重复值会抛出异常ValueError: duplicate values found in...
    @unique
    class Weekday(Enum):
        Sun = 0
        Mon = 1
        Tue = 2
        Wed = 3
        Thu = 4
        Fri = 5
        Sat = 6
      
        
    # 不同取值方式
    sun1 = Weekday.Sun
    sun2 = Weekday['Sun']
    # 唯一实例,所以为True
    print(sun1 == sun2)
    
    

    相关文章

      网友评论

          本文标题:Python枚举类(8)

          本文链接:https://www.haomeiwen.com/subject/wenjlftx.html