一、动态属性设置:setattr( 参数1, 参数2, 参数3)
参数1:对象(类)
参数2:属性名
参数3:属性值
setattr()的作用:动态给对象/类添加属性,如果属性存在则修改属性的值;如果不存在,添加属性
下面看个例子:
class Student: # 定义一个学生类
id = "学生"
# 把一个字典的键值对遍历出来,把字典中的键值对设置为类的属性和属性值
data = {
"name": "小明", "age": 20, "sex": "男"}
for k, v in data.items():
Student.K = "V"
print(Student.__dict__)
输出如下:
{
'__module__': '__main__',
'id': '学生', '__dict__': <attribute '__dict__' of 'Student' objects>,
'__weakref__': <attribute '__weakref__' of 'Student' objects>,
'__doc__': None,
'K': 'V'}
很明显,用这种直接赋值的方法无法把字典中遍历出来的键值对设置为类的属性和属性值;这时我们可以用到setattr()函数来进行动态添加属性
cl