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)
试试看可能的重复