zoukankan      html  css  js  c++  java
  • Python Enum 枚举 用法汇总

    Python Enum 枚举 用法汇总

     1 import os
     2 import sys
     3 if sys.version_info.major + sys.version_info.minor * 0.1 < 3.4:
     4     from enum34 import Enum
     5 else:
     6     from enum import Enum
     7     
     8 class MyColorEnum(Enum):
     9     red = 1
    10     red_alias = 1
    11     blue = 2
    12     green = 'green'
    13     
    14 MyColorEnum.red.name    # get member name string
    15 MyColorEnum.red.value   # get member value
    16 
    17 for c in MyColorEnum:
    18     print(c)    # just one of MyColorEnum.red_alias and MyColorEnum.red, according to the order which itself decides
    19 
    20 for c in MyColorEnum.__members__.items():
    21     c[0]    # str name eg. 'red'
    22     c[1]    # member eg. MyColorEnum.red
    23     # contain 'red_alias' and MyColorEnum.red_alias
    24     
    25 'red' in MyColorEnum.__members__    # if member name in Enum
    26 0 in MyColorEnum._value2member_map_ # if value in Enum values
    27 
    28 MyColorEnum.__members__['red']  # MyColorEnum.red, get member by member name string, if no such member name string, raising KeyError
    29 
    30 # comparation ################################################################################
    31 MyColorEnum.red is MyColorEnum.red_alias    # True
    32 MyColorEnum.red == MyColorEnum.red_alias    # True
    33 MyColorEnum.red != MyColorEnum.red_alias    # False
    34 #never do this
    35 #MyColorEnum.red < MyColorEnum.blue  # raising TypeError, Enum values could be different types
  • 相关阅读:
    Fbpanel-轻巧的面板措施
    Skype for Linux 1.4 Alpha 公布
    KFTPgrabber 0.8.1
    Ardour:专业的数字音频任务站
    Cinelerra:视频编纂软件
    V2EX::ING 与 INGC
    HandBrake:DVD 转换工具
    XML Copy Editor:XML 编纂器
    Abraca:XMMS2 的客户端
    KMess:MSN Messenger for KDE
  • 原文地址:https://www.cnblogs.com/ibingshan/p/10375643.html
Copyright © 2011-2022 走看看