2017-03-02 19 views
0

私は以下のようなクラス変数のリストを生成しています。これらの変数の値を出力する必要があります。Pythonリストから変数名の値を得る方法

class MYClass(object): 

    a = '1' 
    b = '20' 
    c = 'hello' 

    def as_list(self): 
     return [attr for attr in dir(MYClass()) if not callable(attr) and not attr.startswith("__") and not attr == 'as_list'] 


c = MYClass() 
print c.as_list() 

〔、 '1'、 '20' 'ハロー']上記のコードは[ 'A'、 'B'、 'C​​']をもたらすであろうが、私は値を必要

+2

'dir(MYClass())の代わりに' dir(self) 'は適切ではないでしょうか? – Leon

+0

実際には静的メソッドなので自己は使用できません。ここに貼り付けるためにコードサンプルを少し変更しました – santosh

答えて

2

Iなぜあなたがこれをやっているのか分からないが、attrをあなたのリストの理解から戻す代わりに、あなたはgetattr(self, attr)を返さなければならない。

関連する問題