1简述
getattr(object,name [,默认])
object为对象,name必须为字符串;如果name的值为对象object的一个属性,则该函数输出对象的该属性,等同于object.name。
class Student:
def __init__(self,name):
self.name = name
s = Stduent('zhangsan')
getattr(s,'name')
输出的结果即为zhangsan。
如果如果name的值不是对象object的一个属性,若此时默认值有设置,则该函数输出该默认值;否则将会报错。
class Student:
def __init__(self,name):
self.name = name
getattr(s,'age',1) #不存在属性age,但提供了默认值,返回默认值
#会输出1
2应用
一般情况下实现上述功能多用object.某属性,但对于object含多属性,当前需要调用属性种类未知时,可以用getattr()函数。可以实现需要哪种属性时,键入name即可得到对应的值。