Python 如何在代码中修改类对象参数
我想完成的是在下面的示例中将Python 如何在代码中修改类对象参数,python,class,Python,Class,我想完成的是在下面的示例中将testobj.alpha设置为.5: class test(): def __init__(self): self.alpha = 0 d = {'alpha' : .5} testobj = test() for i in d: testobj.i = d[i] #creates a new class member called 'i' instead of setting alpha to .5 正如注释所述,在for循环
testobj.alpha
设置为.5
:
class test():
def __init__(self):
self.alpha = 0
d = {'alpha' : .5}
testobj = test()
for i in d:
testobj.i = d[i] #creates a new class member called 'i' instead of setting alpha to .5
正如注释所述,在for
循环中,创建了一个名为i
的新类成员,而不是将现有的alpha
成员设置为.5用于动态设置属性:
for i in d:
setattr(testobj, i, d[i])
或直接更新内部属性字典(将作为代理):
如果对象没有\uuuuu dict\uuuuu
属性(例如,它是用\uuuuu slots\uuuuu
属性定义的),则后一种方法将失败。用于动态设置属性:
for i in d:
setattr(testobj, i, d[i])
或直接更新内部属性字典(将作为代理):
如果对象没有\uuuuu dict\uuuuu
属性(例如,它是用\uuuuu slots\uuuuu
属性定义的),则后一种方法将失败。用于动态设置属性:
for i in d:
setattr(testobj, i, d[i])
或直接更新内部属性字典(将作为代理):
如果对象没有\uuuuu dict\uuuuu
属性(例如,它是用\uuuuu slots\uuuuu
属性定义的),则后一种方法将失败。用于动态设置属性:
for i in d:
setattr(testobj, i, d[i])
或直接更新内部属性字典(将作为代理):
如果对象没有\uuuu dict\uuuu
属性(例如,它是用\uuu slots\uuuu
属性定义的),则后一种方法将失败