python的getattr进而setattr
时间: 2024-12-30 08:38:06 浏览: 7
在Python中,`getattr()` 和 `setattr()` 是两个内置函数,用于动态地访问对象的属性。它们的主要作用是提供了一种在运行时检查并获取或设置对象属性的方式,而不是直接通过名称引用。
1. `getattr(object, name[, default])` 函数接受三个参数:
- 第一个参数是对象实例;
- 第二个参数是要获取的属性名,可以是字符串形式;
- 第三个参数是可选的,默认值,如果属性不存在则返回这个默认值(默认是 `None`)。
示例:
```python
class MyClass:
def __init__(self):
self.my_attribute = "Hello"
obj = MyClass()
print(getattr(obj, 'my_attribute')) # 输出: Hello
print(getattr(obj, 'non_existent', 'Default Value')) # 输出: Default Value
```
2. `setattr(object, name, value)` 函数用于设置对象的属性:
- 参数和 `getattr()` 类似,第一个参数是对象,第二个是属性名,第三个是新的属性值。
示例:
```python
obj = MyClass()
setattr(obj, 'new_attribute', 42)
print(obj.new_attribute) # 输出: 42
```
阅读全文