Python:将属性添加到以现有字符串命名的对象

时间:2013-09-24 00:25:48

标签: python variable-assignment

我希望能够根据特定字符串向现有对象添加属性。因此,例如,如果mystring = 'bar'和对象被称为foo,那么我希望能够将foo.mystring = False分配给foo.bar = False。所以给出:

class Fubar():
    def __init__(self):
        self = self
        self.bar = True


foo = Fubar() 
mystring = 'bar'

伪代码foo.mystring = False的实际等价物是什么:

print(foo.bar)
False 

请记住,我不一定知道mystring包含的内容,只是它引用了我想要分配给现有对象的属性。

1 个答案:

答案 0 :(得分:1)

setattr(foo, mystring, False)   # this is just here to let me submit