python中的getattr()函数
时间: 2024-04-10 20:28:01 浏览: 71
getattr()函数是Python中内置的函数,用于获取对象的属性值。
它的语法为:
```
getattr(object, name[, default])
```
其中,object表示要获取属性值的对象,name表示属性名,default是可选参数,表示如果属性不存在时返回的默认值。
当对象object具有属性name时,getattr()函数返回该属性的值。如果属性不存在且没有提供default参数,则会抛出AttributeError异常。如果属性不存在但提供了default参数,则会返回default的值。
getattr()函数可以用于动态地获取对象的属性,特别是在不确定对象是否具有某个属性时非常有用。它可以根据变量的值来获取相应的属性,而不需要硬编码属性名。这在编写通用代码时非常方便。
以下是一个使用getattr()函数的示例:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Alice", 25)
name = getattr(person, "name")
print(name) # 输出: Alice
height = getattr(person, "height", 170)
print(height) # 输出: 170(默认值)
```
在上面的示例中,我们创建了一个Person类的实例person,并使用getattr()函数获取了其name属性的值。同时,我们还尝试获取了一个不存在的属性height,并提供了默认值170,以防止抛出异常。
阅读全文