在Python中,setattr 是一个特殊方法(也称为魔术方法或双下划线方法),用于在对象中设置属性值。当你尝试给一个对象的属性赋值时,Python会自动调用这个方法。
setattr 方法接受两个参数:属性名(通常是一个字符串)和属性值。默认情况下,当你给一个对象的属性赋值时,Python会简单地将值存储在该对象的属性字典中。但是,通过重写 setattr 方法,你可以自定义属性设置的行为。
下面是一个简单的例子,展示了如何使用 setattr 方法来拦截属性设置,并在设置属性值之前执行一些额外的操作:
class MyClass:
def __init__(self):
self._private_var = None