概要
getattr()是一个Python内置函数,用于获取一个对象的属性值。它接受两个参数,第一个参数是对象,第二个参数是属性名称。
如果对象有该属性,则返回属性值;如果对象没有该属性,则根据情况返回默认值或者引发AttributeError。
基本操作
语法
:getattr(object, name[,default])
参数解释:
- object:要获取属性的对象。
- name:要获取的属性的名称。
- default:可选参数,如果属性不存在,则返回该默认值(默认为None)。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Alice", 25)
name = getattr(person, "name")
print(name) # 输出 "Alice"
# 获取不存在的属性
email = getattr(person, "email", "N/A")
print(email) # 输出 "N/A"
# 获取不存在的属性,不提供默认值。会引发AttributeError
address = getattr(person, "address")
在上面的示例中,我们创建了一个Person类的实例person。使用getattr()函数获取了person对象的name属性,并打印出来。同时示例还展示了当尝试获取不存在的属性时,可以提供默认值参数以及不提供默认值参数的情况。