2

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

类似(简化):

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

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

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

我知道我可以将函数或对象作为参数传递。但似乎没有在这里找到使用 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 回答