2

列挙型のように機能するクラスがあります。彼の変数 (enum の値) をループしたい

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、この方法で答えを見つけてみてください。

4

2 に答える 2

1

列挙型を再発明するよりも、Python の列挙型 (これもバックポートされています) を使用する方がよいでしょう。次に、コードは次のようになります

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


--> for variable in Demos:
...    print variable
于 2013-11-01T19:39:38.713 に答える