Python的getattr传参
时间: 2024-08-02 11:00:36 浏览: 164
Python getattr()函数使用方法代码实例
在Python中,`getattr()` 函数是一个内置函数,用于动态地获取对象的属性值。如果你想要访问某个对象的属性,即使这个属性名称在运行时才确定(比如从用户输入、变量名或字符串中),`getattr()` 函数就非常有用。
`getattr(obj, attr_name[, default])` 的基本用法如下:
- `obj`: 需要访问其属性的对象。
- `attr_name`: 属性的名称,可以是一个字符串,也可以是一个表达式计算出的字符串。
- `default` (可选): 如果属性不存在或者对象不是字典类型,返回的默认值。如果省略,则会抛出 `AttributeError` 异常。
当你调用 `getattr(obj, 'attribute_name')` 时,如果`'attribute_name'`存在于`obj`中,就会返回该属性的值;否则,返回的是`None`(除非提供了默认值)。
举个例子:
```python
class MyClass:
def __init__(self):
self.public_var = "Hello"
my_instance = MyClass()
print(getattr(my_instance, 'public_var')) # 输出 "Hello"
print(getattr(my_instance, 'non_existent', 'Default Value')) # 输出 "Default Value"
```
相关问题:
1. `getattr()` 通常在哪些场景下使用?
2. 如何避免在调用 `getattr()` 时出现 `AttributeError`?
3. 可以在Python的其他语言结构中使用类似的功能吗?
阅读全文