getattr()
函数是 Python 内置函数之一,用于获取对象的属性值
其基本语法为:
getattr(object, name[, default])
object
是一个对象name
是属性名,要获取的属性名称default
是可选参数,表示如果属性不存在时返回的默认值。如果不提供default
参数,而属性不存在,会引发AttributeError
异常
例如,
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 创建一个 Person 对象
person = Person("Alice", 30)
# 使用 getattr 获取属性值
name_value = getattr(person, "name")
age_value = getattr(person, "age")
print(name_value) # 输出: Alice
print(age_value) # 输出: 30
在这个例子中创建了一个 Person
类的实例 person
,然后使用 getattr()
分别获取了 name
和 age
属性的值
此外,如果属性不存在,可以提供第三个参数作为默认值,以避免抛出异常:
gender_value = getattr(person, "gender", "Unknown")
print(gender_value) # 输出: Unknown
在这个例子中,由于 Person
类中并没有 gender
属性,所以 getattr()
返回提供的默认值 “Unknown”
总的来说,getattr()
可以用于在运行时获取对象的属性值,提高代码的灵活性