2

関数内で使用する特定のオブジェクト プロパティを引数に含む汎用関数 (Django ビュー ハンドラー) を作成しようとしています。

次のようなもの(簡略化):

def some_function(arg, property):
    return Some_Object.property

しかし、Python は「プロパティ」を変数のように扱うのではなく、プロパティ/メソッド名として扱おうとします。

複数のバリエーションを試しましたが、どれも機能しませんでした。( exec/eval varient を試していませんでした。

関数またはオブジェクトを引数として渡すことができることを知っています。しかし、ここでpython 2.7および2.6を使用して正確な解決策を見つけられなかったようです

特定の移植はDjangoの問題ですが、これについて興味がありました

4

1 に答える 1

6

あなたがしたいことは、 getattr を使用してプロパティを取得することだと思います:

def some_function(arg, property):
    return getattr(Some_Object, propery)

ここでドキュメントを見ることができます: http://docs.python.org/library/functions.html#getattr

于 2012-06-09T22:11:42.423 に答える