Python中__setattr__方法代码实例
时间: 2023-04-03 07:04:13 浏览: 148
Python中-setattr-赋予属性的用法
__setattr__方法是Python中的一个特殊方法,用于设置对象的属性值。下面是一个简单的代码示例:
```python
class MyClass:
def __setattr__(self, name, value):
print(f"Setting {name} to {value}")
super().__setattr__(name, value)
obj = MyClass()
obj.x = 10
```
在这个示例中,我们定义了一个名为MyClass的类,并在其中实现了__setattr__方法。当我们在对象obj上设置属性x的值时,__setattr__方法会被调用,并打印出设置的属性名和属性值。最后,我们使用super()函数调用父类的__setattr__方法,以确保属性值被正确设置。
需要注意的是,如果在__setattr__方法中直接使用self.name = value的方式设置属性值,会导致无限递归调用__setattr__方法,从而导致程序崩溃。因此,我们需要使用super()函数来调用父类的__setattr__方法,以避免这种情况的发生。
阅读全文