Python setattr()函数
在 Python 中,setattr()
函数用于设置对象的属性值。它接受三个参数:要设置属性的对象、属性名称和属性值。如果对象已经存在具有相同名称的属性,则该属性的值将被覆盖。
例如,要在一个名为 p 的对象中设置名为 age 的属性的值为 30,可以使用以下代码:
class Person:
pass
p = Person()
setattr(p, 'age', 30)
print(p.age) # 输出: 30
在这个示例中,我们首先定义了一个名为 Person 的类,然后创建了一个新的 Person 对象 p。接着,使用setattr(p, 'age', 30)
将 p 对象的 age 属性设置为 30。
setattr()
函数还可以用于动态地设置类的属性。例如:
class Person:
pass
setattr(Person, 'age', 30)
print(Person.age) # 输出: 30
在这个示例中,我们在 Person 类上使用setattr()
函数设置了一个名为 age 的属性,并将其值设置为 30。接着,使用Person.age
打印了 age 属性的值。
setattr()
函数只能用于设置对象的属性或类的属性,而不能用于设置模块的属性或内置类型的属性。此外,如果要设置属性的名称是一个变量,则应该使用setattr()
函数,而不是直接将属性名称作为字符串传递给对象的__setattr__()
方法。