Python:如何以编程方式更新属性?

时间:2017-07-14 18:56:45

标签: python python-2.7

我正在寻找一种以编程方式更新属性的方法(特别是在SQLAlchemy类的update()函数内部时)

def update(self, **kwargs):
    for kwarg in kwargs:
        setattribute(self, kwarg, kwargs[kwarg])

这似乎不起作用,也不是这样:

def update(self, **kwargs):
    for kwarg in kwargs:
        self[kwarg] = kwargs[kwarg]

2 个答案:

答案 0 :(得分:3)

使用setattr()

def update(self, **kwargs):
    for key, value in kwargs.items():
        setattr(self, key, value)

答案 1 :(得分:1)

listkwargs,您可以使用dict迭代其键和值:

items()