Python 内置函数 getattr()
1. 概述
getattr()
是 Python 中的一个内置函数,用于获取对象的属性值。它接受三个参数:对象、属性名和默认值。如果对象具有指定的属性,则返回该属性的值;如果对象没有该属性,则返回默认值(如果提供了默认值)或引发 AttributeError
异常。
2. 语法
getattr(object, name[, default])
object
: 要获取属性的对象。name
: 属性的名称。default
(可选): 如果属性不存在,返回的默认值。
3. 示例
3.1 获取对象属性
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Alice", 30)
# 获取对象属性
name_value = getattr(person, "name")
age_value = getattr(person, "age")
print(f"Name: {name_value}")
print(f"Age: {age_value}")
3.2 处理不存在的属性
# 尝试获取不存在的属性
city_value = getattr(person, "city", "Unknown")
print(f"City: {city_value}") # 输出: City: Unknown
4. 注意事项
- 使用
getattr()
时,确保对象具有指定的属性,否则会引发异常。 - 如果不提供默认值,且属性不存在,将引发
AttributeError
异常。