hasattr函数使用方法
1 # hasattr函数使用方法 2 # hasattr(object,attr) 3 # 判断一个对象里是否有某个属性或方法,返回布尔值,有为True,否则False 4 class person(): 5 '''测试类''' 6 name = 'mike' 7 age = '25' 8 9 def say(self): 10 '''测试方法''' 11 return 'hello!' 12 13 14 per = person() 15 has_name = hasattr(per, 'name') 16 has_sex = hasattr(per, 'sex') 17 has_say = hasattr(per, 'say') 18 print('1.是否有name属性:', has_name) 19 print('2.是否有sex属性:', has_sex) 20 print('3.是否有say方法:', has_say)
运行结果:
1.是否有name属性: True 2.是否有sex属性: False 3.是否有say方法: True
getattr函数使用方法
1 # getattr函数使用方法 2 # getattr(object,attr[,default]) 3 # 获取对象的属性或方法,可设置输出默认值, 4 # 如果获取方法,返回的是内存地址,如果需要运行,后面添加一对括号 5 has_name = getattr(per, 'name') 6 has_sex = getattr(per, 'sex', 'male') 7 has_say = getattr(per, 'say')() 8 print('1.name属性:', has_name) 9 print('2.sex属性不存在,返回默认值:', has_sex) 10 print('3.say方法执行结果:', has_say)
运行结果:
1.name属性: mike 2.sex属性不存在,返回默认值: male 3.say方法执行结果: hello!
setattr函数使用方法
1 # setattr函数使用方法 2 # setattr(object,attr,values) 3 # 给对象的属性赋值,若属性不存在,则先创建再赋值 4 setattr(per, 'name', 'Tom') 5 print('1.修改name属性:', per.name) 6 setattr(per, 'id', '6557') 7 print('2.创建id属性:', per.id)
运行结果:
1.修改name属性: Tom 2.穿件sex属性: 6557