Python字符串到属性

Python字符串到属性,python,attributes,Python,Attributes,我怎样才能完成这样的工作: def get_foo(someobject, foostring): return someobject.foostring 即: 如果我做了get_foo(obj,“name”)它应该调用obj.name(请参见输入字符串,但我将其称为属性) 谢谢您应该使用setattr和getattr: setattr(object,'property',value) getattr(object,'property',default) 使用内置函数 getattr

我怎样才能完成这样的工作:

def get_foo(someobject, foostring):
    return someobject.foostring
即:

如果我做了
get_foo(obj,“name”)
它应该调用
obj.name
(请参见输入字符串,但我将其称为属性)


谢谢

您应该使用setattr和getattr:

setattr(object,'property',value)
getattr(object,'property',default)
使用内置函数

getattr(对象,名称[,默认])

返回对象的命名属性的值。名称必须是字符串。如果字符串是对象属性之一的名称,则结果是该属性的值。例如,
getattr(x,'foobar'))
相当于
x.foobar
。如果命名属性不存在,则返回默认值(如果提供),否则将引发


如果
someobject
具有名为
foostring
的属性,则

def get_foo(someobject, foostring):
    return getattr(someobject,foostring)
或者,如果要为提供的对象设置属性,则:

def set_foo(someobject, foostring, value):
    return setattr(someobject,foostring, value)
试试看

可能的重复