📅  最后修改于: 2020-09-20 04:06:00             🧑  作者: Mango
getattr()
方法的语法为:
getattr(object, name[, default])
上面的语法等效于:
object.name
getattr()
方法采用多个参数:
getattr()
方法返回:
default
AttributeError
异常,如果找不到命名属性并且未定义default
属性class Person:
age = 23
name = "Adam"
person = Person()
print('The age is:', getattr(person, "age"))
print('The age is:', person.age)
输出
The age is: 23
The age is: 23
class Person:
age = 23
name = "Adam"
person = Person()
# when default value is provided
print('The sex is:', getattr(person, 'sex', 'Male'))
# when no default value is provided
print('The sex is:', getattr(person, 'sex'))
输出
The sex is: Male
AttributeError: 'Person' object has no attribute 'sex'
类Person
不存在指定的属性sex
。因此,当使用默认值Male
调用getattr()
方法时,它将返回Male。
但是,如果我们不提供任何默认值,则在找不到命名属性sex时,它会引发AttributeError
该对象没有sex属性。