python中类的setattr()方法
时间: 2024-01-28 08:05:45 浏览: 123
在 Python 中,`setattr()` 是一个内置函数,用于设置对象属性的值。它的语法为:
```python
setattr(object, name, value)
```
- `object`:要设置属性的对象。
- `name`:属性名称。
- `value`:属性的值。
例如,下面的代码演示了如何使用 `setattr()` 方法设置一个对象的属性值:
```python
class Person:
pass
p = Person()
setattr(p, "name", "Tom")
print(p.name) # 输出:Tom
```
在上述代码中,我们创建了一个 `Person` 类,并通过 `setattr()` 方法给 `p` 对象添加了一个 `name` 属性,并将其值设置为 `"Tom"`。然后,我们打印这个属性的值,应该输出 `"Tom"`。
需要注意的是,如果对象已经有该属性,则 `setattr()` 方法将会覆盖原有的属性值。如果对象没有该属性,则 `setattr()` 方法会新建一个属性。
相关问题
python __setattr__
__setattr__是Python中的一个特殊方法,用于在对象中设置属性的值。当我们使用“obj.attr = value”语法时,实际上是调用了__setattr__方法。这个方法可以被重写,以便我们在设置属性值时执行一些自定义的操作。例如,我们可以在设置属性值时进行类型检查或者记录属性的修改历史。
Python中__setattr__方法
__setattr__方法是Python中的一个特殊方法,用于设置对象的属性值。当我们使用“对象.属性 = 值”的方式给对象设置属性值时,实际上是调用了该对象的__setattr__方法。该方法的定义如下:def __setattr__(self, name, value)。其中self表示对象本身,name表示属性名,value表示属性值。在__setattr__方法中,我们可以对属性值进行一些限制或处理,比如检查属性值的类型、范围等。
阅读全文