我有一个像枚举的类。
我想遍历他的变量(枚举的值)

class Demos(object):
    class DemoType(object):
        def __init__(self, name):
            self.name = name

        def __repr__(self):
            return self.name

    VARIABLE1 = DemoType("Car")
    VARIABLE2 = DemoType("Bus")
    VARIABLE3 = DemoType("Example")
    VARIABLE4 = DemoType("Example2")


我考虑过使用Role.__dict__vars(Role),但它们不仅包含变量,而且还包含RoleType类和其他属性,例如__module____doc__以及更多...

我也希望这样表示它,主要是因为它将为DemoType添加更多变量。 name以外的变量,因此,请尝试通过这种方式找到答案。

最佳答案

与其重新发明枚举类型,不如使用Python的Enum类型(也已经是backported)。然后您的代码可能看起来像

class Demos(Enum):
    VARIABLE1 = "Car"
    VARIABLE2 = "Bus"
    VARIABLE3 = "Example"
    VARIABLE4 = "Example2"


--> for variable in Demos:
...    print variable

关于python - 遍历类中所有类似于枚举的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19732803/

10-11 07:46