
getattr()方法返回对象的命名属性的值。如果找不到,它将返回提供给该函数的默认值。
getattr()方法的语法为:
getattr(object, name[, default])
上面的语法等效于:
object.name
getattr()参数
getattr()方法采用多个参数:
- object -要返回其命名属性值的对象 
- name -包含属性名称的字符串 
- default(可选) -找不到命名属性时返回的值 
getattr()返回值
getattr()方法返回:
- 给定对象的命名属性的值 
- default,如果找不到命名属性 
- AttributeError异常,如果未找到已命名的属性且未定义默认值 
示例1:getattr()如何在Python中工作?
class Person:
    age = 23
    name = "Adam"
person = Person()
print('年龄是:', getattr(person, "age"))
print('年龄是:', person.age)运行该程序时,输出为:
年龄是: 23 年龄是: 23
示例2:找不到命名属性时的getattr()
class Person:
    age = 23
    name = "Adam"
person = Person()
# 当提供默认值时
print('性别是:', getattr(person, 'sex', 'Male'))
# 当没有提供默认值时
print('性别是:', getattr(person, 'sex'))运行该程序时,输出为:
性别是: Male AttributeError: 'Person' object has no attribute 'sex'
已命名的属性sex不存在于Person类中。因此,当使用默认值Male调用getattr()方法时,它将返回Male。
但是,如果我们不提供任何默认值,则在找不到命名属性sex时,会抛出一个AttributeError说法,即该对象没有sex属性。
