Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在代码中修改类对象参数_Python_Class - Fatal编程技术网

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
属性定义的),则后一种方法将失败