Skip to main content
 首页 » 编程设计

python之遍历类中所有像枚举一样的变量

2025年05月04日9soundcode

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

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