Python的hasattr() getattr() setattr() 函数使用

1. hasattr(object, name)

判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。
需要注意的是name要用括号括起来

class Person():
    name = 'you'
    def eat(self):
        return 'eat'

 2. getattr(object, name[,default])

获取对象object的属性或者方法,如果存在打印出来,如果不存在,打印出默认值,默认值可选。
需要注意的是,如果是返回的对象的方法,返回的是方法的内存地址,如果需要运行这个方法,
可以在后面添加一对括号。

print(getattr(p, 'age', setattr(p, 'age', 19)))

3.setattr(object, name, values)

def run():
    return "run"
setattr(p, 'run', run)
print(p.run())
 

 

posted @ 2019-09-17 11:17  bob_coder  阅读(203)  评论(0编辑  收藏  举报