我最近读了一篇帖子,其中有人提到不需要在python中使用枚举。我对这是否成立很感兴趣。
例如,我使用一个枚举来表示调制解调器控制信号:
class Signals:
CTS = "CTS"
DSR = "DSR"
...
我使用
if signal == Signals.CTS:
而不是if signal == "CTS":
更好,还是我错过了一些东西? 最佳答案
Signals.CTS
似乎比“CTS”更好。但是Signals不是枚举,它是具有特定字段的类。据我所知,您声称您不需要单独的枚举语言构造,因为您可以像在问题中所做的那样进行操作,或者:
CTS, DSR, XXX, YYY, ZZZ = range(5)
如果您在信号模块中拥有该模块,则可以按类似的方式将其导入,例如
if signal == signals.CTS:
。标准库的几个模块(包括re和os模块)中都使用了它。关于python - 不需要枚举,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7886958/