python面向对象--反射
1.反射包含四个函数hasattr(),getattr(),setattr(),delattr()
2.hasattr(o,name)判断类中是否存在name属性或方法
class test(object): def __init__(self): self.name='张三' def show(self): print('姓名:%s'%self.name)T=test()print(hasattr(T,'show'))print(hasattr(T,'name'))print(hasattr(T,'name1'))>>:TrueTrueFalse
3.getattr(o,name)根据name字符串取得对应类中的属性或方法
class test(object): def __init__(self): self.name='张三' def show(self): print('姓名:%s'%self.name)T=test()res=getattr(T,'show')res()>>:姓名:张三
4.setattr(o,name,value)设置类的属性值
class test(object): def __init__(self): self.name='张三' def show(self): print('姓名:%s'%self.name)T=test()setattr(T,'name','李四')print(T.name)>>:李四
5.delattr(o,name)删除类的属性或方法
class test(object): def __init__(self): self.name='张三' def show(self): print('姓名:%s'%self.name)T=test()delattr(T,'name')print(T.name)>>:报错
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。