2017-05-14 6 views
-3

クラスに関連付けられているメソッドのクラス属性にアクセスしたいが、自動であるため、forループを使用する。問題は、self.strという属性にアクセスできるように、自分自身に文字列として取得する属性名を追加する方法です。Pythonでdjangoを使用してクラス属性にアクセス

コードスニペット:インスタンスのSource Code

+0

申し訳ありませんが、画像はリンクにあります。ありがとう。 – temci

+3

ようこそスタックオーバーフロー。コードの画像へのリンクを投稿しないようにしてください。代わりに、あなたの質問に関連するコードをあなたのポストに直接コピーして貼り付けてください(もちろん、これは一般的なルールです)投稿したコードが[最小限で完全で検証可能](http: /stackoverflow.com/help/mcve)あなたが直面している問題の例)。参考までに、[How to Ask](http://stackoverflow.com/help/how-to-ask)を参照してください。 – stybl

+0

'getattr(self、str)'を試してください! – schwobaseggl

答えて

1

属性は__dict__呼ば辞書フィールドとして格納されています。しかし、フィールドを動的に取得する適切な方法は、getattrメソッドを使用することです。ここに例があります:

>>> t = Test() 
>>> t.b = 2 
>>> getattr(t, 'b') 
2 
>>> getattr(t, 'c', 'default_value') 
'default_value' 
+0

それは動作します!ありがとうございました。 – temci

関連する問題