用于枚举的pythonic替换

在我的python脚本中,我正在解析用户创建的文件,通常会出现一些错误,并且有些情况下我警告用户要更清楚。 在ci中会有一个枚举类似eAssignBad,eAssignMismatch,eAssignmentSignMix(与无符号混合的符号)。 然后,我会查看打印错误或警告消息的值。 我将warningMsg链接到一个地方,我喜欢名称的可读性而不是字面值。 这是什么pythonic替代?

重复 :我如何在Python中表示'Enum'?


这是迄今为止我发现的最好的枚举实现之一:http://code.activestate.com/recipes/413486/

但是,我敢问,你是否需要枚举?

你可以用你的错误信息和一些带你的错误号码的整数常量简单的字典。

eAssignBad = 0
eAssignMismatch = 1
eAssignmentSignMix = 2

eAssignErrors = {
    eAssignBad: 'Bad assignment',
    eAssignMismatch: 'Mismatched thingy',
    eAssignmentSignMix: 'Bad sign mixing'
}

你可以尝试制作一堆异常类(Exception的所有子类,也许通过你自己的一些共同的父类)。 每个人都会有一个适合该场合的错误消息文本...

链接地址: http://www.djcxy.com/p/91735.html

上一篇: pythonic replacement for enums

下一篇: Python's enum equivalent