Python字符串属性

我该如何完成这项工作:


def get_foo(someobject, foostring):

    return someobject.foostring

IE浏览器:


如果我这样做,get_foo(obj, "name")它应该被调用obj.name(请参阅输入作为字符串,但我将其称为attritube。


谢谢


慕姐8265434
浏览 430回答 3
3回答

慕容3067478

使用内置功能getattr。getattr(对象,名称 [,默认 ])返回object的命名属性的值。名称必须是字符串。如果字符串是对象属性之一的名称,则结果是该属性的值。例如,getattr(x, 'foobar')等效于x.foobar

莫回无

如果someobject具有名为foostringthen 的属性def get_foo(someobject, foostring):    return getattr(someobject,foostring)或者,如果您想为所提供的对象设置属性,则:def set_foo(someobject, foostring, value):    return setattr(someobject,foostring, value)试试吧

ABOUTYOU

您应该使用setattr和getattr:setattr(object,'property',value)getattr(object,'property',default)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python