Python3 getattr() 函数详解 获取对象(类)的属性
getattr()
函数的主要作用是获取对象的属性,第一个参数是对象,第二个参数是属性的名称,第三个对象时属性的默认值(如果属性不存在则返回该值),如果已存在的属性名称,则返回属性的值,否则返回设置的默认值,如果连默认值也没有提供,就会报错了,例如,getattr(o,'abc')等同于o.abc。
它是Python的内置函数,在python文件中直接可以使用。
语法
getattr(object, name[, default])
参数
object - 对象 name - 对象的属性名称 default - 属性的默认值(属性不存在返回默认值)
返回值
返回对象指定的属性值,不存在返回设置的默认值。
实例
代码及运行结果:
#创建类
class main:
a = 1
b = 2
c = 3
def run(self):
print(123)
#实例化对象
o = main()
#获取并打印已存在的属性:'c'
print(getattr(o, 'c'))
#结果:3
#获取并打印不存在的属性:'d'
print(getattr(o, 'd', '这是默认值'))
#结果:这是默认值
#由于d属性不存在,所以使用了设置的默认值。
#尝试获取对象的方法
print(getattr(o, 'run'))
#结果:由尖括号括起来的方法标识,一般不用getattr()获取方法。