如何创建一个对象并向其添加属性?

9 浏览
0 Comments

如何创建一个对象并向其添加属性?

我想在Python中创建一个动态对象(在另一个对象内部),然后向其添加属性。

我尝试了以下代码:

obj = someobject
obj.a = object()
setattr(obj.a, 'somefield', 'somevalue')

但是这个方法不起作用。

有什么想法吗?

编辑:

我正在使用for循环设置属性,该循环遍历一个值的列表,例如:

params = ['attr1', 'attr2', 'attr3']
obj = someobject
obj.a = object()
for p in params:
   obj.a.p # 这里的p来自于for循环变量

在上面的示例中,我将获得obj.a.attr1obj.a.attr2obj.a.attr3

我使用setattr函数是因为我不知道如何在for循环中通过p的值来设置obj.a.NAME

在上面的示例中,如何根据p的值设置属性?

0