Python之hasattr()、getattr()和setattr()
1、hasattr(object,attr) 判断一个对象里是否有某个属性或方法,返回布尔值,有为True,否则False
class test():
name = "xiaoxiao"
def say(self):
return "HelloWord"
t = test()
has_name = hasattr(t, 'name')
print('是否有name属性:', has_name)
运行结果:
运行结果:
是否有name属性:
True
2、getattr(object,attr[,default]) # 获取对象的属性或方法,可设置输出默认值, 如果获取方法,返回的是内存地址,如果需要运行,后面添加一对括号
has_name = getattr(t,'name')
print("name的属性":has_name)
运行结果:name的属性: xiaoxiao
3、setattr(object,attr,values) # 给对象的属性赋值,若属性不存在,则先创建再赋值
p = setattr(t,sex,'女')
print(“sex的属性:”,t.p)
运行结果:sex的属性:女