python通过函数参数将变量传递给对象属性或方法

时间:2012-06-09 22:07:49

标签: python django

我一直在尝试构建一个泛型函数(一个Django视图处理程序),其参数包含要在函数内使用的特定对象属性

类似(简化):

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

但python试图将'property'视为属性/方法名称,而不是将其视为变量。

我尝试了多种变体但没有效果。 (没有尝试exec / eval varient - 我应该吗?似乎不太pythonic)

我知道我可以传递函数或对象作为参数。但似乎没有在这里找到确切的解决方案 使用python 2.7和2.6

具体植入是一个Django问题,但我对此感到好奇

1 个答案:

答案 0 :(得分:4)

我认为您要做的是使用getattr来检索属性:

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

您可以在此处查看文档:{​​{3}}