おいも貴婦人ブログ

生物系博士課程満期退学をしたAIエンジニアのブログ。

Pythonの基本.2!?(class 内の変数をディクショナリとして返す。)

クラス内の変数にまとめてアクセスしたい時が多々あると思います。そう、私はあります。
そんなときに便利な__dict__が以下になります。この__dict__はクラス内の変数をディクショナリとして返してくれます。(もちろん。.keys()を使えば、クラスないの変数の一覧も収得できてしまいます。)

class TClass:
    def __init__(self):
        self.a=0
        self.b=1
        self.c=2

if __name__=="__main__":
    test=TClass()
    print test.__dict__

実行結果は以下のようになります。

{'a': 0, 'c': 2, 'b': 1}

さらにクラスの変数にディクショナリとしてアクセス可能

test.__dict__['a']=10