''' 反射: 通过字符串的形式操作对象相关的属性。 python中的一切事物都是对象(都可以使用反射) hasattr(object,name) 判断object中有没有一个name字符串对应的方法或属性 getattr(object, name, default=None) 获取obj内name属性的值,即:object.name 若找不到属性 自动返回None setattr(object, name, value) 设置obj内name属性的值为value delattr(obj, name) 删除obj内name属性 反射优点: 1.实现可插拔机制 if hasattr(f1,'get'): func_get=getattr(f1,'get') func_get() else: print('---->不存在此方法') print('处理其他的逻辑') 2.实现动态导入模块 ''' class test : def __init__(self,name,age): self.name = name self.age = age obj = test('t1',18) print(hasattr(obj,'name')) print(getattr(obj,'name',None)) setattr(obj,'sex','male') print(obj.__dict__) delattr(obj,'sex') print(obj.__dict__)
python3-面对对象-反射
猜你喜欢
转载自blog.csdn.net/qq_33961117/article/details/82108319
今日推荐
周排行