Pythonic替代枚举的解决方案

6 浏览
0 Comments

Pythonic替代枚举的解决方案

这个问题已经有答案了:

在我的Python脚本中,我解析了一个用户创建的文件,通常会有一些错误,有时我会警告用户要更加清晰。在C中,我会有一个枚举,如eAssignBad,eAssignMismatch,eAssignmentSignMix(在有符号和无符号之间混合符号)。然后我会查找值以打印错误或警告消息。我喜欢将warningMsg放在一个地方,并且喜欢使用名称而不是字面值的可读性。有什么Python的替代品吗?

重复的问题:如何在Python中表示枚举?

admin 更改状态以发布 2023年5月23日
0
0 Comments

你可以尝试创建一系列异常类(所有子类都是Exception,可能是通过您自己的一些公共父类)。每个异常类都会具有适合所需的错误消息文本...

0
0 Comments

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

但是,我敢问,你需要一个枚举吗?

你可以用一个简单的字典来存储你的错误消息,并用一些整数常量来存储你的错误编号。

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

0